Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Timer des Programms aus DLL enablen (https://www.delphipraxis.net/13525-timer-des-programms-aus-dll-enablen.html)

TheBender 20. Dez 2003 13:35


Timer des Programms aus DLL enablen
 
Moin,

Wenn ich in meinem Porg einen Timer hinzufüge und beim aufruf der DLL einen Pointer auf Timer.Enabled übergebe und diesen in der Hook-function setzen will wie mach ich das?

In meinem Prog hab ich so gedacht.
InitProc(hDLL,TRUE,@Timer1.enabled);

in der Dll ne Var Timer PBOOLEAN
Also im Init der Dll Timer:=Parameter3 der InitProc

in der Hook-function dann
Timer^:=TRUE;

Das geht nicht was mach ich falsch?

scp 20. Dez 2003 15:02

Re: Timer des Programms aus DLL enablen
 
Timer1.enabled ist ja nicht wirklich eine Variable, sondern mehr eine Art Funktion.

Mal ganz von der Sicherheit der ganzen Sache abgesehen, besser du übergibts den gesamten Timer an die DLL:

Delphi-Quellcode:
InitProc(hDLL,TRUE, Pointer(Timer1));
in der Dll hast du dann ne
Delphi-Quellcode:
Var
  TheTimer : TTimer;
Und im Init der Dll dann
Delphi-Quellcode:
  TheTimer := TTimer(Parameter3);
und in der Hook-function dann
Delphi-Quellcode:
  TheTimer.Enabled := TRUE;
Das funktioniert deshalb, weil Timer1 einen Zeiger/Referenzzähler auf den Timer enthält und nicht den Inhalt der Timer-Klasse selbst.

dizzy 20. Dez 2003 15:06

Re: Timer des Programms aus DLL enablen
 
Damit man auch alle Antworten zu diesem Thema hat...
http://www.delphi-groups.de/YaBBSe/i...threadid=18352

:roll:

Luckie 20. Dez 2003 15:08

Re: Timer des Programms aus DLL enablen
 
Zitat:

Zitat von scp
Timer1.enabled ist ja nicht wirklich eine Variable, sondern mehr eine Art Funktion.

Landläufig auch als Eigenschaft oder englisch, Property, bekannt. :zwinker:

scp 20. Dez 2003 15:11

Re: Timer des Programms aus DLL enablen
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von scp
Timer1.enabled ist ja nicht wirklich eine Variable, sondern mehr eine Art Funktion.

Landläufig auch als Eigenschaft oder englisch, Property, bekannt. :zwinker:

Hast ja recht :oops:

TheBender 20. Dez 2003 15:49

Re: Timer des Programms aus DLL enablen
 
Danke für die Antworten das mit dem Timer geht.

Aber jetzt hab ich wieder das Problem das die dll nur auf die taste reagiert wenn mein programm den focus hat. :wall:

Und die Zeichenkette von sendkeys kommt in dem anderen programm auch nicht an!

Ich hatte mal probiert nur einen Timer in meinem Prog mit sendkeys ging wunderbar zeichen kammen im anderen prog an.

Zweiter test die dll taste wird abgefangen geht wunderbar.

nur wenn ich beides verbinden will geht das nicht.

Aber irgentwie muss das gehn wer zumbeispiel TeamSpeak kennt das fängt auch ne tast ab und schaltet das micro an.

bin für jede hilfe dankbar

scp 21. Dez 2003 00:25

Re: Timer des Programms aus DLL enablen
 
Verwendest du für die "Dll-Taste" Hier im Forum suchenRegisterHotkey? Wenn nein, such mal in der DP danach.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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