![]() |
zur Laufzeit erstellte komponente an eine Funktion übergeben
Hi Leute
erstelle zur Laufzeit mehrere comp. nun mus eine davon an eine Procedure oder Funktion übergeben werden, aber ich erhalte immer eine Fehlermeldung.
Delphi-Quellcode:
Die Fehlermeldung: Zugriffsverletzung bei Adresse xxxxxx .var MyPlayer: TMediaPlayer; Procedure TForm1.PlayerCreate; var p: Integer; begin for p:=1 to pindex do begin MyPlayer:=TMediaPlayer.Create(self); MyPlayer.Name:='MyPlayer'+IntToStr(p); MyPlayer.parent:=self; MyPlayer.Visible:=false; end; end; ........... .......... begin ........... ........... SetMPVolume(TMediaPlayer(FindComponent('MyPlayer'+IntToStr(i+1))),round(tin)); .......... .......... end; ist der Aufruf Findcomponent dafür falsch? Gruss Alf |
Re: zur Laufzeit erstellte komponente an eine Funktion überg
Moin Alf,
nein, grundsätzlich kannst du FindComponent verwenden, allerdings ist dies eine Methode einer Komponente. Erfolgt der Aufruf nicht in der Komponente die Owner der gesuchten Komponente ist gibt die Funktion nil zurück. Du müsstest also angeben, welches FindComponent Du verwenden willst, z.B:
Delphi-Quellcode:
Ich vermute mal, dass SetMPVolume nicht innerhalb einer Methode von TForm1 aufgerufen wird.
Form1.FindComponent(...)
|
Re: zur Laufzeit erstellte komponente an eine Funktion überg
Hi und Juhuuu
das wars und schon funct alles Daaaanke Gruss Alf |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:02 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