![]() |
problem beim übersetzen von funktionen
Hallo,
ich hab aus einem forum folgende angaben für das benutzen einer dll datei: Zitat:
Hier das was ich bisher hab:
Delphi-Quellcode:
MfG - Ghost007
procedure SetBgLight(Value:Integer);stdcall;export;external 'lglight.dll';
procedure SetLCDLight(Value:Integer);stdcall;export;external 'lglight.dll'; procedure SetMacroKeys(M1,M2,M3,MR:Boolean);stdcall;export;external 'lglight.dll'; |
Re: problem beim übersetzen von funktionen
Das was Du hast ist schonmal falsch. Das sind alles functions die einen Boolean zurückgeben, keine Procedures.
GetLight ist auch eine, die einen Integer zurückgibt. SetMacroKeys gibt auch einen Boolean zurück und nimmt 4 Booleans an. |
Re: problem beim übersetzen von funktionen
hm, die 3 funktionieren aber so wie se da sind :shock: und zwar wunderbar :gruebel:
wie müsste das denn für die anderen aussehen? MfG - Ghost007 |
Re: problem beim übersetzen von funktionen
So wie ich das sehe machst du ne Delphi-übersetztung für die G15-Tastaturfunktionen. Kannst du die vllt. als unit ins open-source stellen wenn alles fertig ist :?:
|
Re: problem beim übersetzen von funktionen
Die G15 ist schon ein geiles Teil. Ich liebe sie :P
Apropos, versuch es mal damit:
Delphi-Quellcode:
unit lglight;
interface uses Windows; function GetProductString(pBuffer: PChar; iBufferLength: DWORD): DWORD; stdcall; external 'lglight.dll'; //--- value: 0=off 1=half 2=full function SetBgLight(iValue: Integer): DWORD; stdcall; external 'lglight.dll'; //--- value: 0=off 1=half 2=full function SetLCDLight(iValue: Integer): DWORD; stdcall; external 'lglight.dll'; // --- value: the higher, the more contrast; when value exceedes 43 it is set back to 18, which is the level, the LCDMon.exe sets it to low function SetLCDContrast(iValue: Integer): DWORD; stdcall; external 'lglight.dll'; //--- multiple are really possible! function SetMacroKeys(M1, M2, M3, MR: DWORD): DWORD; stdcall; external 'lglight.dll'; function GetLight(iValue: Integer): Integer; stdcall; external 'lglight.dll'; //--- lpProc: pointer to the callback function: //--- VOID WINAPI keyProc(INT pressedKeys); function SetCallback(pValue: Pointer): DWORD; stdcall; external 'lglight.dll'; implementation end. |
Re: problem beim übersetzen von funktionen
hi,
sehr schön :) danke aber eins versteh ich nicht. Was bringt die letzte funktion? MfG - Ghost007 |
Re: problem beim übersetzen von funktionen
*PUSHÜ
|
Re: problem beim übersetzen von funktionen
kleine Verbesserung:
Delphi-Quellcode:
uses
Windows; const LGLIGHT_DLL='lglight.dll'; // <==== hier kann man zentral den Namen der DLL angeben function GetProductString(pBuffer: PChar; iBufferLength: DWORD): DWORD; stdcall; external LGLIGHT_DLL; ... Mit SetCallback kann dein Programm sich über Tastendrücke informieren lassen:
Delphi-Quellcode:
procedure KeyProc(pressedKeys:integer);stdcall;
begin if Assigned(Form1) then Form1.MemoPressedKeys.Add(intToStr(pressedKeys)); end; .... SetCallback(@KeyProc); // hier müsste man noch den Returnwert von SetCallback auswerten |
Re: problem beim übersetzen von funktionen
danke :)
funktioniert wunderbar MfG - Ghost007 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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