AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi TDialogService.InputQuery zeigt die Beschriftung nicht alle an
Thema durchsuchen
Ansicht
Themen-Optionen

TDialogService.InputQuery zeigt die Beschriftung nicht alle an

Ein Thema von Peter-Pascal · begonnen am 12. Dez 2023 · letzter Beitrag vom 16. Dez 2023
Antwort Antwort
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#1

TDialogService.InputQuery zeigt die Beschriftung nicht alle an

  Alt 12. Dez 2023, 10:55
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
Miniaturansicht angehängter Grafiken
inputquery.png  
Peter Niemeier
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an

  Alt 16. Dez 2023, 11:32
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
Peter Niemeier
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.349 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an

  Alt 16. Dez 2023, 16:41
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.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Peter-Pascal

Registriert seit: 18. Feb 2007
Ort: 32139 Spenge
197 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: TDialogService.InputQuery zeigt die Beschriftung nicht alle an

  Alt 16. Dez 2023, 17:58
Danke Herr Jaenicke,

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

Gruß Peter
Peter Niemeier
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:26 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