![]() |
FileRun nach einmaligem ausführen deaktivieren
hallo zusammen,
habe ein kleines problem und konnte über sufu nichts finden.hoffe ihr könnt mir helfen,dürfte aber nicht so schwer sein. bitte nachsicht da anfänger. es handelt sich um ein programm für eine webcam. dort habe ich eine procedure TForm1.OnMotionDetect über eine matrize erkenne ich veränderung der pixel und bei bewegung soll eine datei (.exe) gestartet werden. das funktioniert soweit nur das starten der exe macht probleme.diese soll nur einmal gestartet werden und nicht immer wieder wenn bewegung erkannt wird. das ganze funktioniert im moment so: procedure TForm1.OnMotionDetect ... usw. Button2.Click; (der button ist unsichtbar und hat als action FileRun1) end; (über button 3 wähle ich vorher die exe,die gestartet wird wenn bewegung erkannt wird) procedure TForm1.Button3Click(Sender: TObject); begin OpenDialog2.Execute(); FileRun1.FileName := OpenDialog2.FileName; end; das muss doch auch viel eleganter gehen ohne button2 und wichtig ist dass die ausgewählte exe nur einmal gestartet wird. kann man FileRun1 irgendwie deaktivieren,sobald darüber die exe gestartet wurde? bitte um nachsicht ob der unbeholfenen ausdrucksweise,danke gruss vcore |
Re: FileRun nach einmaligem ausführen deaktivieren
Hallo,
klar geht das. Boolean-Variable (bWasExecuted) im Form definieren, im FormCreate bWasExecuted:= False; und in der FileRunOnce begin if bWasExecuted then Exit; // FileRun Code bWasExecuted:= True; end; Heiko |
Re: FileRun nach einmaligem ausführen deaktivieren
und aus
Delphi-Quellcode:
machst du bitte
procedure TForm1.OnMotionDetect ... usw.
Button2.Click; (der button ist unsichtbar und hat als action FileRun1) end;
Delphi-Quellcode:
Oder wenn du den Button eh überhaupt nicht brauchst, da er eh unsichtbar ist, dann lagerst du den Code in eine normale Procedur aus und rufst sie an dieser Stelle auf.
procedure TForm1.OnMotionDetect ... usw.
FileRun1.Execute; end; |
Re: FileRun nach einmaligem ausführen deaktivieren
:thumb:
wusste erst nicht was mit FileRunOnce gemeint war. hatte bWasExecuted dann über button 2 realisiert,die exe wurde dann nur einmal gestartet. der zweite hinweis,button 2 ganz rauschzuschmeissen und durch filerun1.execute zu ersetzen war dann das i-tüpfelchen. danke euch beiden ,super hilfe :cheers: gruss vcore |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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