Questo conferma esattamente quello che ti stavo dicendo nei precedenti messaggi.Originariamente inviato da CaMpIoN
...
gli errori riportati sono i seguenti:codice:FlashWindow(application.hand,true);
Bhe spero di essere stato piu chiaro almeno stavoltacodice:[Error] DLL.dpr(36): Undeclared identifier: 'application' [Error] DLL.dpr(36): Not enough actual parameters...
L'oggetto Application si trova nella unit Forms e viene creato quando lavori con un'applicazione VCL Forms in Delphi; nel tuo caso, stai creando una DLL, invocabile anche da altri ambienti e linguaggi, quindi è normale che tu non abbia a disposizione - in generale - l'oggetto Application.
Anche se tu ce l'avessi, non puoi inserire l'identificatore Application senza includere la unit (Forms) nella clausola uses, altrimenti il compilatore non è in grado di individuarlo.
Oltre a questo, l'oggetto Application non possiede una proprietà hand, ma tutt'al più una proprietà Handle.
Non ha nemmeno senso che tu utilizzi direttamente quell'oggetto, altrimenti cosa te ne fai del parametro che hai aggiunto nella funzione definita nella DLL?
Come dicevo prima, il fatto che tu abbia visto un pezzo di codice con scritto Application.Handle (e non "hand") non significa che questo possa essere utilizzato indistintamente ovunque; è un po' come affermare che, avendo visto un cuoco utilizzare il burro, questo si possa mettere in qualsiasi pietanza.
Da qui la mia contestazione iniziale: il fatto di andare a caso non si riferiva al codice che scrivi (anche se si applicherebbe anche a questo), ma al modo in cui utilizzi indiscriminatamente istruzioni prelevate da listati che fanno tutt'altro o si riferiscono a tipi di progetti completamente differenti dal tuo.
Secondo me, ti conviene fare un passo indietro e approfondire meglio il linguaggio e i principi fondamentali della libreria VCL; in seguito potrai "evolvere" in soluzioni più complesse.
Ciao!![]()