![]() |
AW: Zugriff auf Objekt in TObjectList
Hallo,
Freimatz genau das meinte ich mit "Verwendung von lokalen Variablen". |
AW: Zugriff auf Objekt in TObjectList
Guten Morgen Zusammen,
vielen Dank für die Unterstützung. Leider klappt es noch immer nicht... Ich habe jetzt Folgendes gemacht:
Delphi-Quellcode:
Type
TDesign=class private FListe_Button: TObjectList;
Delphi-Quellcode:
constructor TDesign.Create;
begin FListe_Button:= TObjectList.Create; end;
Delphi-Quellcode:
procedure TDesign.Design_LogIn;
begin FListe_Button.Add(Form_LogIn.btn_login_abbruch); FListe_Button.Add(Form_LogIn.btn_login_ok); Labeling_GlowButtons; end;
Delphi-Quellcode:
Ich bekomme leider nach wie vor die Fehlermeldung:
procedure TDesign.Labeling_GlowButtons;
var I: integer; MyButton: TTMSFNCToolBarButton; Button_Text: string; begin for I := 0 to FListe_Button.Count -1 do begin MyButton:=FListe_Button.Items[I] as TTMSFNCToolBarButton; Button_Text:=Data_Module.xDST_Sprache.FieldByName(MyButton.Name).AsString; MyButton.Text:=Button_Text; end; end; Zitat:
Delphi-Quellcode:
geprüft, dass 2 Objekte in der Liste enhalten sind und haben mit
ShowMessage('Anzahl Buttons: '+IntToStr(FListe_Button.Count));
Delphi-Quellcode:
geprüft, dass die Daten aus der DB auch vorhanden sind.
ShowMessage(Data_Module.xDST_Sprache.FieldByName('btn_login_abbruch').AsString);
Ich weiß nicht, wo es hakt... Gruß Patrick |
AW: Zugriff auf Objekt in TObjectList
Zitat:
|
AW: Zugriff auf Objekt in TObjectList
Der Fehler tritt aber auf, sobald ich versuche auf ein Objekt zuzugreifen.
Delphi-Quellcode:
Ich habe alle Schritte davor getestet!
MyButton:=FListe_Button.Items[I] as TTMSFNCToolBarButton; //Das funktioniert noch
ShowMessage(MyButton.Name);//Hier knallt es |
AW: Zugriff auf Objekt in TObjectList
und warum? Kannst Du debuggen?
Ist "FListe_Button.Items[I]" leer oder hat es den falschen Typ oder ist das Objekt schon wieder weg. Mache davor ein "if Assigned(FListe_Button.Items[I]). Wenn ok lass dir "FListe_Button.Items[I].Classname"anzeigen. Zitat:
|
AW: Zugriff auf Objekt in TObjectList
.. hat MyButton denn eine Adresse oder null?
Grüße Klaus |
AW: Zugriff auf Objekt in TObjectList
Hallo,
Zitat:
Delphi-Quellcode:
und
ShowMessage(Form_LogIn.btn_login_abbruch.Name);
Delphi-Quellcode:
if FListe_Button.Items[0] is TTMSFNCToolBarButton then
begin ShowMessage('OK'); end; |
AW: Zugriff auf Objekt in TObjectList
Wie es aussieht, ist das Objekt schon wieder weg... :shock:
Delphi-Quellcode:
Ergebnis lautet: Not assigned...
for I := 0 to FListe_Button.Count -1 do begin
if Assigned(FListe_Button.Items[I]) then ShowMessage(FListe_Button.Items[I].ClassName) else ShowMessage('Not assigned'); end; Aber warum ist das so? Vorher frage ich die Anzahl der Objekte in der Liste ab und bekomme das Ergebnis 2.
Delphi-Quellcode:
ShowMessage('Anzahl Buttons: '+IntToStr(FListe_Button.Count));
Delphi-Quellcode:
if FListe_Button.Items[I] is TTMSFNCToolBarButton then
ShowMessage('OK') else ShowMessage('Not OK'); Auch hier lautet das Ergebnis: Not OK! Ich gebe die Liste aktuell auch nicht wieder frei... Vielen Dank Patrick |
AW: Zugriff auf Objekt in TObjectList
Zeig mal deinen abgeänderten Code. Also alles meine ich was wichtig ist.
|
AW: Zugriff auf Objekt in TObjectList
Für mich sieht das so aus, als ob du in die Liste schon ein Nil-Object reinpackst. Sprich gibt es die Button zu dem Zeitpunkt wo die Prozedur läuft schon?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:47 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz