Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Bonjour à tous,
J'essaie désespérément d'utiliser cette fonction, mais je dois passer à côté d'un ch'tit quelque chose...
Je déclare bien une structure contenant deux unsignedLong,
Mais après mon OpenFile, rien à faire, le retour reste à FALSE:
str_filedatetime lstr_creation, & lstr_last_access, & lstr_last_update Int li_fileopen boolean lb_test li_fileopen = FileOpen ('C:\Temp\truc.txt', LineMode!, Read!) lb_test = GetFileTime (li_fileopen, ldt_creation, ldt_last_access, ldt_last_update) FileClose (li_fileopen)
Si quelqu'un à une idée...
Merci!
Hors ligne
Bonsoir, trouvé sur les newgroups (NB : il faut utiliser une structure pour les dates)
// STRUCTURE type os_filedatetime from structure unsignedlong ul_lowdatetime unsignedlong ul_highdatetime end type // EXTERNAL FUNCTION Function boolean GetFileTime(long hFile, ref os_filedatetime lpCreationTime, & ref os_filedatetime lpLastAccessTime, ref os_filedatetime lpLastWriteTime ) & library "KERNEL32.DLL" // APPEL os_filedatetime dt_creationTime os_filedatetime dt_lastAccessTime os_filedatetime dt_lastWriteTime ll_file = FileOpen("c:\LOGFILE.txt") lb_return = GetFileTime(ll_file,dt_creationTime,dt_lastAccessTime,dt_lastWriteTime) FileClose(ll_file)
Hors ligne
Re-bonjour,
Oui, la structure, je l'avais déjà. La seul différence entre ce que tu as trouvé et ce que j'ai, c'est la déclaration du type de hfile dans la fonction. Moi j'avais trouvé une doc avec un ulong et non un long.
En désespoir de cause, j'ai également transformé mon integer en long (la variable qui attrape le code retour de FileOpen), mais là, j'ai carrément un RunTimeError... Donc l'integer, c'est bien...
Donc ça ne marche toujours pas. Je suis en PB 10 (oui, j'ai rajouté l'alias for ).
help
(et pardon pour la mauvaise balise de code... )
Hors ligne
As tu ajouté ";ansi" derrière le "KERNEL32.DLL" pour obtenir "KERNEL32.DLL;ansi" dans la déclaration de ton API ?
Hors ligne
Chrnico a écrit:
As tu ajouté ";ansi" derrière le "KERNEL32.DLL" pour obtenir "KERNEL32.DLL;ansi" dans la déclaration de ton API ?
et avec GetFileTimeA ?
Hors ligne
Avec "KERNEL32.DLL;ansi", j'ai une runtime error
Et avec GetFileTimeA unknown function
Quelqu'un a-t'il essayé sur son poste?
Hors ligne
Dropy a écrit:
Avec "KERNEL32.DLL;ansi", j'ai une runtime error
Et avec GetFileTimeA unknown function
Quelqu'un a-t'il essayé sur son poste?
LIBRARY "Kernel32.dll" ALIAS FOR "GetFileTimeA;ansi"
Hors ligne
pick ouic a écrit:
Dropy a écrit:
Avec "KERNEL32.DLL;ansi", j'ai une runtime error
Et avec GetFileTimeA unknown function
Quelqu'un a-t'il essayé sur son poste?LIBRARY "Kernel32.dll" ALIAS FOR "GetFileTimeA;ansi"
Oups, merci Pick.
Effectivement le ansi se met dans l'alias.
Faut que j'arrête la glace ça me tourne la tête
Hors ligne
Oui, c'est comme ça que l'écris aussi... Pour info j'utilise déjà d'autres fonctions de Kernel32.dll qui fonctionnent très bien avec cette syntaxe.
Cette fonction là, bien qu'elle existe, semble attendre autre chose... mais quoi?
Hors ligne
ca marche mieux avec cet exemple... testé et approuvé !
http://64.18.163.122/rgagnon/pbdetails/pb-0205.html
Hors ligne