Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi FMX TComboBox Zugriffsverletzung bei Itemindex -1 (https://www.delphipraxis.net/210621-fmx-tcombobox-zugriffsverletzung-bei-itemindex-1-a.html)

Wiener 18. Mai 2022 14:15

FMX TComboBox Zugriffsverletzung bei Itemindex -1
 
Hallo,

hab ein kleines Verständnisproblem bei folgenden code:
Delphi-Quellcode:
Form1.ComboBox_Pers_Betreuer.ItemIndex:= -1; // Feld zurücksetzen

  DataModule1.FDQuery_Sonstiges.SQL.Clear;
  DataModule1.FDQuery_Sonstiges.SQL.Text:= 'SELECT Max_Betreuer from PERSON WHERE Personennr = :PNR';
  DataModule1.FDQuery_Sonstiges.ParamByName('PNR').AsString := Form1.FDQueryPerson.FieldByName('Personennr').AsString;
  DataModule1.FDQuery_Sonstiges.Open;

  temp:= DataModule1.FDQuery_Sonstiges.FieldByName('Max_Betreuer').AsString;

  for i:= 0 to Form1.ComboBox_Pers_Betreuer.Count-1 do
  begin
     if temp = Form1.ComboBox_Pers_Betreuer.ListItems[i].Text then
     begin
         Form1.ComboBox_Pers_Betreuer.ItemIndex:=i;
         break;
     end;
  end;
Dieser Code wird durch ein Contexmenü eines Grid aufgerufen.
Nun ist folgendes: Wenn ich einen Kunden auswähle, welchen schon ein Betreuer zugeteilt ist läuft alles super. Wähle ich aber dann einen Kunden, der noch keinen Betreuer hat kommt
es zu einer Zugriffsverletzung bei:
Delphi-Quellcode:
Form1.ComboBox_Pers_Betreuer.ItemIndex:= -1; // Feld zurücksetzen
Bedeutet ich will den ItemIndex von z.B 3 auf -1 wieder ändern.

Hat wer eine Lösung für mich??

Wiener 19. Mai 2022 10:25

AW: FMX TComboBox Zugriffsverletzung bei Itemindex -1
 
Hab den Fehler gefunden:

Durch ändern des Itemindex wird OnChange ausgelöst und dort hatte ich einen Aufruf einer Funktion - welcher die Zugriffsverletzung verursachte.
Mit einer if Abfrage hab ich es gelöst:

Delphi-Quellcode:
procedure TForm1.ComboBox_Pers_BetreuerChange(Sender: TObject);
begin
   if ComboBox_Pers_Betreuer.ItemIndex <> -1 then
      PersonFunctionen.Betreuerwechsel;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 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