Re: objectreferenz austauschen ohne globale variablen!!!!
Zitat:
Ich habe mir jetzt angewöhnt in Eventhandlern nur noch Methoden aufzurufen. Dann verschwinden solche Probleme. |
Re: objectreferenz austauschen ohne globale variablen!!!!
Ok, Ok ich hab das VCL Control gemeint.
Also steht das VCL Control in irgendeiner Beziehung zu dem Objekt oder nicht? Deine Angaben sind etwas vage... Kannst du das Objekt nicht in der procedure 2 erst erstellen? |
Re: objectreferenz austauschen ohne globale variablen!!!!
@garbi
nein kann ich leider nicht. ich denke mal das ich klar gesagt habe was ich will. bitte lies nochmal genau nach. die 2 procedure ist eine ereignisprocedure. in dieser procedure muss ich auf ein anderes object referenzieren. Gruß richard |
Re: objectreferenz austauschen ohne globale variablen!!!!
@ jens schumann
ja der code steht im onclick eines actionmenuelements |
Re: objectreferenz austauschen ohne globale variablen!!!!
Zitat:
Lagere den Code in eine eigene Methode aus. Dieser Methode kannst Du dann als Paramter die Objektreferenz übergeben. Im OnClick Event steht dann nur noch der Methoden Aufruf. |
Re: objectreferenz austauschen ohne globale variablen!!!!
@ jens schumann ,diese uebergabe ist ja das eigentliche problemob ich den code als methode auslagere oder nicht, spielt doch dabei ueberhaupt keine rolle?
ich verstehe nich wie du das meinst bzw was mir das bringt. die referenz musss ich trotzdem uebergeben. wobei wir wieder bei meiner ursprungsfrage sind? Gruß richard |
Re: objectreferenz austauschen ohne globale variablen!!!!
Hallo,
ungefähr so
Delphi-Quellcode:
Type
TMyForm = class(TForm) private FRefObject : TObject; ... end; procedure TMyForm.CreateRefObject; begin If Not Assinged(FRefObject) then FRefObject:=TOBject.Create; end; procedure TMyForm.DoSomething(aRefObject : TObject); begin If Assinged(FRefObject) then MachWas end; procedure TMyForm.XYZClick(Sender : TObject); begin CreateRefObject; DoSomething(FRefObject ); end; |
Re: objectreferenz austauschen ohne globale variablen!!!!
ok jens jetz weis ich was du meinst ;)
ich wuerd noch folgendes ergaenzen?
Delphi-Quellcode:
Type
TMyForm = class(TForm) private FRefObject : TObject; ... end; procedure TMyForm.CreateRefObject; begin If Not Assinged(FRefObject) then FRefObject:=TOBject.Create; end; procedure TMyForm.DoSomething(aRefObject : TObject); begin If Assinged(FRefObject) then MachWas end; procedure TMyForm.XYZClick(Sender : TObject); begin CreateRefObject; DoSomething(FRefObject ); frefobject.free // um das übergabe object wieder nach benutzung freizugeben?? oder macht er das automatisch? end; |
Re: objectreferenz austauschen ohne globale variablen!!!!
[gelöscht]
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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