AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Zugriff auf Objekt in TObjectList

Ein Thema von Ykcim · begonnen am 9. Dez 2019 · letzter Beitrag vom 10. Dez 2019
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

AW: Zugriff auf Objekt in TObjectList

  Alt 10. Dez 2019, 10:13
Er springt nach else und gibt "Not assigned" aus...

Delphi-Quellcode:
for I := 0 to FListe_Button.Count -1 do begin
      ShowMessage(FListe_Button.Items[I].ClassName);
      if Assigned(FListe_Button.Items[I]) then
         ShowMessage(FListe_Button.Items[I].ClassName)
      else
         ShowMessage('Not assigned');
      if FListe_Button.Items[I] is TTMSFNCToolBarButton then
         ShowMessage('OK')
      else
         ShowMessage('Not OK');
   end;

Und wenn ich das assigned nicht abprüfe gibt er folgenden Error aus:
Zitat:
TypeError: Cannot read property '$classname' of null at Object.Labeling_GlowButtons
Patrick

Geändert von Ykcim (10. Dez 2019 um 10:15 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zugriff auf Objekt in TObjectList

  Alt 10. Dez 2019, 10:18
Hallo,
ok, oder auch nicht, dann weiter

ShowMessage(Form_LogIn.ClassName)
ShowMessage(Form_LogIn.btn_login_abbruch.ClassName )

und zwar unmittelbar vor dem
Labeling_GlowButtons;


und noch was
Delphi-Quellcode:
procedure TForm_NMain.Create_frmLogIn;
begin
   ShowMessage('7 Create FrameLogin');
   if not Assigned(Form_LogIn) then begin
-->> ShowMessage('7.1 TForm_LogIn.CreateNew');
      Form_LogIn := TForm_LogIn.CreateNew(Form_NMain.Sheet_LogIn.ElementID, nil);
      Form_LogIn.OnLogIn_Run:=Logic.Run_LogIn;
      Design.Design_LogIn;
   end;

   Form_NMain.Frame_Control.TabIndex:=0;
end;
Heiko

Geändert von hoika (10. Dez 2019 um 10:20 Uhr)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zugriff auf Objekt in TObjectList

  Alt 10. Dez 2019, 10:25
Also,

ShowMessage('7.1 TForm_LogIn.CreateNew'); hat 7.1 ... korrekt angezeigt.
ShowMessage(Form_LogIn.ClassName); hat TForm_LogIn ausgegeben

ShowMessage(Form_LogIn.btn_login_abbruch.ClassName ); hat wieder zu einem Error geführt:
Zitat:
ERROR
Uncaught TypeError: Cannot read property '$classname' of null | TypeError: Cannot read property '$classname' of null at Object.Design_LogIn (http://localhost:8000/NedCom_Web/Ned...b.js:119492:89) at Create_frmLogIn
Wenn ich die Autovervollständigung nutze [STRG+LEERTASTE], dann erkennt Delphi den btn_login_abbruch und zeigt auch an, dass es ein TTMSFNCToolBarButton ist. Aber auf den Button kann ich trotzdem nicht zugreifen...
Patrick

Geändert von Ykcim (10. Dez 2019 um 10:36 Uhr)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zugriff auf Objekt in TObjectList

  Alt 10. Dez 2019, 11:07
Es funktioniert!

Ich verstehe zwar nicht, warum es gerade nicht funktioniert hat, aber ich habe Folgendes geändert:

Aus der Procedure Create_frmLogIn habe ich das Design.Design_LogIn gelöscht.
Delphi-Quellcode:
procedure TForm_NMain.Create_frmLogIn;
begin
   ShowMessage('7 Create FrameLogin');
   if not Assigned(Form_LogIn) then begin
      ShowMessage('7.1 TForm_LogIn.CreateNew');
      Form_LogIn := TForm_LogIn.CreateNew(Form_NMain.Sheet_LogIn.ElementID, nil);
      Form_LogIn.OnLogIn_Run:=Logic.Run_LogIn;
      //Design.Design_LogIn;
   end;
   Form_NMain.Frame_Control.TabIndex:=0;
end;
In der Procedure WebFormShow habe ich erst das Form LogIn created und das Design als CallBack von Get_Sprache gesetzt.
Delphi-Quellcode:
procedure TForm_NMain.WebFormShow(Sender: TObject);
begin
   FullScreen;
   Create_frmLogIn;
   ShowMessage('1 Main_Show');
   ShowMessage(Sheet_LogIn.Name);
   Data_Module.xConnection_connect(procedure
      begin
         ShowMessage('3 AonConnect');
         Data_Module.Get_Property;
         ShowMessage('4 Get_Property done');
         Data_Module.Get_Sprache(Design.Design_LogIn);
      end
      );
end;
Eigentlich hätte ich erwartet, dass das keinen Unterschied macht...

Vielen Dank für die tolle Unterstützung!!!!

Patrick
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:39 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-2025 by Thomas Breitkreuz