Autor |
Beitrag |
WeBsPaCe
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 21:37
|
|
Sprint
      
Beiträge: 849
|
Verfasst: Fr 01.04.05 21:51
FindComponent ist eine Methode von TControl.
_________________ Ciao, Sprint.
|
|
WeBsPaCe 
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 21:51
Es geht sogar so nicht:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure ClearBackground; begin with TImage(FindComponent('BkgrndImage')) do begin Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin with TImage(FindComponent('BkgrndImage')) do begin Free; end; end; |
Jetzt ist doch nur noch der Name der procedure anders oder?? Komisch... Bin am verzweifeln... 
|
|
WeBsPaCe 
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 21:52
Sprint hat folgendes geschrieben: | FindComponent ist eine Methode von TControl. |
Heißt was?? 
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Fr 01.04.05 21:52
habs bei mir grad getestet und es ging einwandfrei.
vielleicht solltest du mal self davorschreiben und gucken obs dann geht
oder deine uses-klausel überprüfen
aber sonst ist mir echt unklar woran das liegt
_________________ [inspirationslos]
|
|
demo88
      
Beiträge: 160
Ubuntu 6.04, Win XP
Delphi 7
|
Verfasst: Fr 01.04.05 21:54
Also egentlich ist es klar woran es liegt:
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| function ClearBackground: Boolean; begin with TImage(form1.FindComponent('BkgrndImage')) do begin Free; end; end;
procedure TForm1.Button1Click(Sender: TObject); begin with TImage(FindComponent('BkgrndImage')) do begin Free; end; end; |
|
|
WeBsPaCe 
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 21:54
der_zaehe hat folgendes geschrieben: | vielleicht solltest du mal self davorschreiben und gucken obs dann geht |
Wo davor?? 
|
|
Sprint
      
Beiträge: 849
|
Verfasst: Fr 01.04.05 21:56
WeBsPaCe hat folgendes geschrieben: | Sprint hat folgendes geschrieben: | FindComponent ist eine Methode von TControl. |
Heißt was? |
In deinen Beispielen rufst du FindComponent so auf, als wäre es eine globale Funktion. Das ist es aber nicht.
_________________ Ciao, Sprint.
|
|
WeBsPaCe 
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 21:56
|
|
der_zaehe
      
Beiträge: 317
WinXP SP2
D6 Pers, D2005 Prof, VS2005
|
Verfasst: Fr 01.04.05 22:06
wozu?
ein image liegt doch immer nur auf einem form, oder? 
_________________ [inspirationslos]
|
|
Sprint
      
Beiträge: 849
|
Verfasst: Fr 01.04.05 22:06
Komponenten haben die Eigenschaft Owner. Das z.B. auch bei Create angegeben wird.
Bei MeinImage := TImage.Create(nil) wird Form1.FindComponent nichts finden. Weil Owner nicht gesetzt ist.
_________________ Ciao, Sprint.
|
|
WeBsPaCe 
      
Beiträge: 2322
Erhaltene Danke: 1
FireFox 3, Internet Explorer 6 SP1
D1, D3Prof, D6Pers, D7Pers+Indy, VisualStudio Express
|
Verfasst: Fr 01.04.05 22:20
Ich hab das Problem jetzt so gelöst:
Delphi-Quelltext 1: 2: 3: 4: 5:
| procedure ClearBackground(aForm: String); begin with TForm(Application.FindComponent(aForm)) do with TImage(FindComponent('BkgrndImage')) do Free; end; |
Ich lass mir einfach den Namen, wo das Image drauf ist per Parameter übergeben. 
|
|