faretesto > comp.lang.* > comp.lang.vo-clipper

summario (29.05.2020, 10:58)
Salve a tutti, ho un problema di conversione !!!
che pur usando il _CAst non riesco a risolvere !!
ecco la funzione... e la riga che da l'errore di conversione.

FUNCTION IsExcelOpen() AS LOGIC

LOCAL lIsOpen := FALSE AS LOGIC
LOCAL hWnd AS PTR

hWnd := FindWindow(psz("XLMain"), 0L) // l'errore viene generato da questa riga ed è: Error 51901 - longint --> PSZ not possible.
Ho provato il _CAST, ma ritorna errore..
La funzione che richiama: "Findwindow(psz("XLMain"), 0L)" usa elementi PSZ !!
lIsOpen := hWnd <> 0

RETURN(lIsOpen)

In problema nasce dalla migrazione 2.7b a 2.8b ( effetto della tipizzazione)
Qualcuno spero possa darmi una dritta a trovare una soluzione che non snaturi lo scopo della funzione....
Grazie a quanti vorranno darmi un aiuto.

Mario Summa
Massimo Bighelli (29.05.2020, 12:51)
ormai sono anni che non uso più VO ma mi ricordo di una funzione
StringToPSZ(...)

Il 29/05/2020 10:58, summario ha scritto:
[..]
> Qualcuno spero possa darmi una dritta a trovare una soluzione che non snaturi lo scopo della funzione....
> Grazie a quanti vorranno darmi un aiuto.
> Mario Summa


*Massimo Bighelli* ARCA Sistemi S.r.l.
summario (30.05.2020, 07:56)
Grazie Massimo. ma non risolve il mio problema... dato che il ricevente della funzione è un PTR !!

Il giorno venerdì 29 maggio 2020 12:51:46 UTC+2, Massimo Bighelli ha scritto:
[..]
Wolfgang Riedmann (04.06.2020, 10:37)
Salve,

solo per la storia: FindWindow() richiede due parametri PSZ, perciò il
secondo deve essere scritto come null_ptr e non come 0L.

Wolfgang

summario wrote:
[..]
summario (05.06.2020, 14:28)
Grazie Wolfgang. Spero possa servire anche ad altri.
Buona giornata a tutti
Discussioni simili