Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Bonjour,
j'ai un petit soucis à vous exposer.
Dans le cadre d'une migration Pb V6.5 => Pb V10.5, je dois redéclarer une fonction externe
Windows : GetComputerNameA, contenue dans "Kernel32.dll"
Le déclaration initiale en V6.5 etait :
Function boolean GetComputerNameA(ref string sBuffer, ref ulong lSize) LIBRARY "KERNEL32.DLL"
A priori si j'ai bien tout compris en V10.5, cela devrait être :
FUNCTION boolean GetComputerNameA(ref string sBuffer, ref long lSize) LIBRARY "KERNEL32.DLL"
ALIAS FOR "GetComputerNameA;ansi"
Le problème evidement c'est que cela ne fonctionne pas ! Je ne remonte rien dans mes variables et
le code retour est null, vide ou 0 suivant le context.
J'ai essayé avec un string, long ou boolean pour le code retour et en long et string pour les paramètres d'entrée.
j'ai également essayé avec et sans ";ansi", avec "GetComputerNameA" et "GetComputerName"
Donc n'ayant pas trouvé cette fonction dans la liste des API cités sur un autre post, je sollicite vos lumières.
Merci.
Ps: SE W2K mise à jour finale; PB 10.5 build 4523.
Hors ligne
De mon côté j'ai ça :
function boolean GetComputerNameA(ref string cname, ref ulong nbuf) library "KERNEL32.DLL" alias for "GetComputerNameA;Ansi"
Hors ligne
Hors ligne
Hors ligne
FUNCTION boolean GetComputerNameA(ref string Computer_HostName,ref Ulong HostName_Buffer) LIBRARY "kernel32.dll" ALIAS FOR "GetComputerNameA;ansi"
String GetHostName
ULong HostNamebuffer=512
GetHostName=space(512)
GetComputerNameA(GetHostName,HostNamebuffer)
Hors ligne
Hors ligne
Merci,
mais j'ai tjs un code retour à false, sting vide et ulong = 0
je repondais à thezerg et entre temps une raffale de réponses,
merci pick, je vais tester tes liens et vous remonte les resultats
Dernière modification par cdtit (13-06-2007 10:00:26)
Hors ligne
le dernier lien, est celui de sybase, pour la version 10.5
si ca ne fonctionne pas, alors ou allons-nous ?
Hors ligne
Bizarre que ça ne fonctionne pas.
Au hasard, essaie avec GetComputerNameW et sans le mot clef ansi
FUNCTION boolean GetComputerNameW(ref string Computer_HostName ,ref Ulong HostName_Buffer) LIBRARY "kernel32.dll" ALIAS FOR "GetComputerName"
pick ouic a écrit:
http://ourworld.compuserve.com/homepages/tamareg/TechHelp/PBHelpAPI.html#GetComputerNameA
Top ! Ajouté à mes bookmarks
Hors ligne
non, non excusez moi,
mais comme je l'ai édité plus haut le temps que je n'avait vu que la première réponse
qui elle ne fonctionne pas.
je teste les autres
le code du lien PB remonte bien un code retour à true
mais un string avec des caractère speciaux (deux petit carrés)
je cherche, merci à tous !
Hors ligne
cdtit a écrit:
mais un string avec des caractère speciaux (deux petit carrés)
je cherche, merci à tous !
String(data, EncodingANSI!) à quelque chose près.
Hors ligne
pick ouic a écrit:
FUNCTION boolean GetComputerNameA(ref string Computer_HostName,ref Ulong HostName_Buffer) LIBRARY "kernel32.dll" ALIAS FOR "GetComputerNameA;ansi"
String GetHostName
ULong HostNamebuffer=512
GetHostName=space(512)
GetComputerNameA(GetHostName,HostNamebuffer)
Ceci fonctionne parfaitement; merci à tous
Hors ligne
Pages: 1