Parlo prima di quello che dovrebbe funzionare e non da errori:
Questo che posto è quello che non da errori di sintassi, ed è quello che ho trovato più preciso:
codice:
library DLL;
uses
SysUtils,Classes,Windows;
function Flash(hand:LongInt):Longint; cdecl;
begin
FlashWindow(hand,true);
Result:=1;
end;
exports Flash;
Da Progetto Application ho provato solo la funzione FlashWindow in una procedure button, e funziona perfettamente sia con Handle che che con Application.Handle...
Poi dopo aver verificato che la funzione funzionasse ho provato a farne la dll con il codice postato sopra.. così come ho scritto il codice non da errore di sintassi, ma usando la DLL dal programma, il programma si blocca e crasha.
L'errore di sintassi delphi me lo da postando questo codice, perchè come ho letto Application.Handle fa lampeggia l'icona dalla barra delle applicazioni, mentre solo Handle fa lampeggiare la finestra, nel precedente la funzione ha come argomento hand il cui indicherò dal programma dove uso la dll l'handle della finestra del programma.
Questo è il codice dove mi dà errore di sintassi:
codice:
library DLL;
uses
SysUtils,Classes,Windows;
function Flash(hand:LongInt):Longint; cdecl;
begin
FlashWindow(application.hand,true);
Result:=1;
end;
exports Flash;
gli errori riportati sono i seguenti:
codice:
[Error] DLL.dpr(36): Undeclared identifier: 'application'
[Error] DLL.dpr(36): Not enough actual parameters
Bhe spero di essere stato piu chiaro almeno stavolta
...