AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi objectreferenz austauschen ohne globale variablen!!!!
Thema durchsuchen
Ansicht
Themen-Optionen

objectreferenz austauschen ohne globale variablen!!!!

Offene Frage von "richard_boderich"
Ein Thema von richard_boderich · begonnen am 17. Nov 2005 · letzter Beitrag vom 17. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#11

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 15:56
Zitat von richard_boderich:
... das problem ist das die zweite procedure eine standard onclick procedure eines vcl controls ist ...
Das hört sich eher nach einem Designproblem an. Ich vermute mal, Du hast den Code direkt in den OnClick-Handler des Controls geschrieben. Das habe ich anfangs auch öfter gemacht. Dabei bin auf die gleichen Probleme gestoßen wie Du.

Ich habe mir jetzt angewöhnt in Eventhandlern nur noch Methoden aufzurufen. Dann verschwinden solche Probleme.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von Garby
Garby

Registriert seit: 17. Mär 2003
Ort: Tirol
199 Beiträge
 
Delphi 2005 Professional
 
#12

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 15:56
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?
Walter
Wenn zwei dasselbe tun, ist es noch lange nicht dasselbe
(Adelphi)
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#13

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 16:07
@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
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#14

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 16:17
@ jens schumann

ja der code steht im onclick eines actionmenuelements
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#15

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 16:20
Zitat von richard_boderich:
@ jens schumann

ja der code steht im onclick eines actionmenuelements
Siehste - das ist das Problem.
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.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#16

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 16:42
@ 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
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#17

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 16:56
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;
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Benutzerbild von richard_boderich
richard_boderich

Registriert seit: 21. Jun 2004
Ort: Berlin
1.067 Beiträge
 
Delphi 7 Architect
 
#18

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 17:58
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;
mfG Richard

Cimmams schrieb "das einzige was an ArmA gut ist, ist die Grafik bis 100m und der Rest ist so unreal wie unsere Demokratie."
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#19

Re: objectreferenz austauschen ohne globale variablen!!!!

  Alt 17. Nov 2005, 18:12
[gelöscht]
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:01 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