![]() |
Problem mit Timer -> wird aktiviert, aber nicht ausgeführt
Hallo,
folgendes Problem: Ich aktiviere einen TImer, dieser ist danach auch enabled, jedoch führt er sein OnTimer Event nicht aus. Die Ursache muss in der Methode liegen, aus der ich den Timer aktiviere.
Delphi-Quellcode:
Stallsync wird von der Bass.dll aufgerufen, wenn der Internetradio stream unterbrochen wurde oder fortgesetzt wird (ich simuliere es durch ziehen des Ethernetkabels)
procedure stallsync(lw1, lw2, status:LONGWORD; ptr: pointer); stdcall;
begin Form1.timer1.enabled := status = 0; // 0 = stall 1= resume end; BASS_ChannelSetSync(stream, BASS_SYNC_STALL, 0, @stallsync, nil); BASS_ChannelPlay(stream,false); Leider wird der Timer nicht ausgeführt, obwohl die Enabled-Eigenschaft nach überprüfung eindeutig gesetzt wird. Wenn ich den timer anderweitig aktivieren, funktioniert es hingegen. Freue mich über Hilfe, Gruß Julian |
AW: Problem mit Timer -> wird aktiviert, aber nicht ausgeführt
Kann es sein, daß der Aufruf aus der DLL in einem anderen Thread erfolgt? Dann müsstest du das in den VCL-Thread synchronisieren.
Welche Delphi-Version? |
AW: Problem mit Timer -> wird aktiviert, aber nicht ausgeführt
Sorry, vergessen: ich benutze Freepascal/Lazarus.
Leider weiß ich nicht genau, welcher Thread es ist, welcher die Prozedur stallsync aufruft. Es müsste der Thread sein, in dem auch BASS_ChannelSetSync aufgerufen wird, oder? Edit: Habe es nun mit dem Mainthread synchronisiert und es funkioniert, danke!! Gruß, Julian |
AW: Problem mit Timer -> wird aktiviert, aber nicht ausgeführt
Schau Dir mal die Beispielprogramme zur BASS.dll an, da gibt es auch Routinen zur Synchronisierung. Das musst Du analog dazu implementieren.
Oder arbeite diese ( ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 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 by Thomas Breitkreuz