Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi TDialogService.InputQuery zeigt die Beschriftung nicht alle an (https://www.delphipraxis.net/214255-tdialogservice-inputquery-zeigt-die-beschriftung-nicht-alle.html)

Peter-Pascal 12. Dez 2023 10:55

TDialogService.InputQuery zeigt die Beschriftung nicht alle an
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

TDialogService.InputQuery ignoriert die zweiten Felder. Hier die Ersteingabe.

Delphi-Quellcode:
procedure TFrameBuchhaltungPrivat.SpeedButtonNeuClick(Sender: TObject);
var
  Kategorie: TKategorie;
  Konto: TKonto;
begin
  TDialogService.InputQuery('Kategorie',['Name','Beschreibung'],['',''],
    procedure(const AResult: TModalResult; const AValues: array of string)
    var
      LValue: string;
    begin
      if AResult = mrOk then
      begin
        Konto:= TKonto(ListViewPrivat.Selected.TagObject);
        Kategorie:= TKategorie.Create;
        Kategorie.KategorieID:= -1;
        Kategorie.KontoPlanID:= Konto.KontoPlanID;
        if Konto.Nebenbuch <> TNebenbuch.Kategorie then
        begin
          Konto.Nebenbuch:= TNebenbuch.Kategorie;
          FViewModelKontoPlan.callUpdateKonto(Konto);
        end;
        Kategorie.Name:= AValues[0];
        Kategorie.Beschreibung:= AValues[1];
        FViewModelKontoPlan.callCreateKategorieDataSet(Kategorie);
        FreeAndNil(Kategorie);
        showKategorieListe
      end;
    end);
end;
Die zweite Eingabe unter Beschreibung wird gespeichert, aber dann nicht mehr angezeigt.

Hier die Korrektur:

Delphi-Quellcode:
procedure TFrameBuchhaltungPrivat.ListViewPrivatKategorieItemClickEx(const Sender: TObject; ItemIndex: Integer; const LocalClickPos: TPointF; const ItemObject: TListItemDrawable);
var
  Kategorie: TKategorie;
begin
  if ItemObject is TListItemAccessory then
  begin
    Kategorie:= TKategorie(ListViewPrivatKategorie.Selected.TagObject);

    TDialogService.InputQuery('Kategorie',['Name','Beschreibung'],[Kategorie.Name,Kategorie.Beschreibung],
    procedure(const AResult: TModalResult; const AValues: array of string)
    var
      LValue: string;
    begin
      if AResult = mrOK then
      begin
        Kategorie.Name:= AValues[0];
        Kategorie.Beschreibung:= AValues[1];
        FViewModelKontoPlan.callUpdateKategorieDataSet(Kategorie);
        TListViewItem(ListViewPrivatKategorie.Selected).Text:= Kategorie.Name;
        TListViewItem(ListViewPrivatKategorie.Selected).Detail:= Kategorie.Beschreibung;
      end;
    end);
  end;
end;
Der Screenshot zeigt, dass die Beschriftung beim zweiten Feld fehlt und der Inhalt des zweiten Feldes. Wie gesagt, speichern tut es.

Danke schon mal für die Hilfe.

Ps.: Vielleicht ist es von Bedeutung, ich habe die Version Athene.

Gruß Peter

Peter-Pascal 16. Dez 2023 11:32

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an
 
Hallo,

hat außer mir niemand das Problem?
Oder habe ich mein Problem nicht gut genug beschrieben. Die zweite Beschriftung und das zweite Feld wird nicht ausgefüllt. Und ich weiß nicht, was ich falsch mache. Es ist noch kurioser: Wenn ich das Zweite Editfeld antippe, erscheint plötzlich der Text. Offensichtlich ist er da, aber nicht sichtbar.

Hat jemand eine Idee, was ich falsch mache? Ich vermute immer mehr, da ich irgendetwas saublödes gemacht.

Gruß Peter

jaenicke 16. Dez 2023 16:41

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an
 
Unter Delphi 11.3 funktioniert es, mit Delphi 12 nicht mehr. Der Bug wurde bereits gemeldet, wie eine kurze Suche zeigt
https://quality.embarcadero.com/browse/RSP-43370
Dort ist auch ein Workaround zu finden.

Peter-Pascal 16. Dez 2023 17:58

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an
 
Danke Herr Jaenicke,

mit einem Bug habe ich nicht gerechnet. Bislang lag der Fehler immer bei mir.

Gruß Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz