otavioreis
Messages postés82Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 4 mars 2008
-
16 avril 2007 à 23:13
otavioreis
Messages postés82Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 4 mars 2008
-
23 avril 2007 à 11:05
Bonjour,
J'ai écrit une DLL en delphi. J'ai crée une autre application en Delphi pour accéder les fonctions de la DLL. ça marche bien. Maintenant il faut que j'appelle les fonctions de la DLL du VBA sur un fichier Excel. J'i bien declaré la fonction. ça ne marche pas. Vous savez pour quoi?
Voilà la fonction de la DLL sur Delphi:
function NU:string; stdcall;
var
Buffer : array[0..255] of char;
BufferSize : DWORD;
begin
BufferSize := sizeOf(Buffer);
GetUserName(@buffer, BufferSize);
Result:=Buffer;
end;
exports
NU;
Voilà ma declaration sur le VBA d'Excel:
Declare Function NU Lib "C:\PrjDllDelphi\PrjDllDelphi.dll" () As String
otavioreis
Messages postés82Date d'inscriptionjeudi 5 avril 2007StatutMembreDernière intervention 4 mars 2008 18 avril 2007 à 09:39
Salut! J'ai corrigé la fonction, mis ça ne marche toujours pas. J'ai deux questions:
- Pour quoi ma fonction ne marche pas?
- Delphi et C connaissent les pointeurs, VB ne connait pas. Il y a moyen de passer les valeurs par le biais d'un BSTR en Delphi?
function NU: pchar; StdCall;
Var
Buffer : array[0..255] of char;
BufferSize : DWORD;
begin
BufferSize := sizeOf(Buffer);
GetUserName(@buffer, BufferSize);
GetMem(Result, BufferSize);
StrCopy(Result, @Buffer);
end;