Bonjour,

J'ai un programme en visual basic 6.0 qui utilise la fonction FileTreat d'une DLL. Cette fonction transforme un fichier source en un fichier destination.

Voici son écriture

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Public Function TraiteFichier(ByVal NomFicSrc As String)
NomFicDst = App.Path & "\OutFile.txt"
Res = FileTreat(ByVal NomFicSrc, ByVal NomFicDst)
Cette fonction marche très bien. NomFicSrc contient le chemin du fichier source et le fichier de destination est correctement généré.

Je veux utiliser la même fonction dans un programme Delphi. J'ai écrit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
Function FileTreat( Src:PChar; Dst:PChar):Integer; external 'treat.dll';
 
Function TraiteFichier:Integer;
Const
   SrcName = 'c:\FichierOrg.txt';
   DstName = 'c:\FicherDst.txt';
Begin
  Result:= FileTreat(PChar(SrcName),PChar(DstName));
End;
Cette fonction se lance normalement mais elle renvoie un result indiquant une erreur d'argument. Comme si mes noms de fichiers n'étaient pas vus correctement.

Est-ce qu'il y a une subtilité dans le passage des paramètres entre VB et Delphi ? En particulier en ce qui concerne les chaines ?

Merci