Bonjour.
Voila mon prob... J'ai écrit une DLL win32 (en pascal) qui contient une fonction de sauvegarde. Cette fonction recoit en entrée le chemin du fichier de sauvegarde, par exemple:
c:\\repertoire1\\repertoire2\\texte.txt
Voici le code de cette fonction:
Cette fonction me permet de "découper chaque partie du chemin pour créer les répertoire et le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 procedure TForm6.SauvegardeFichier(chemin: pchar); var cheminSauvegarde,chemin1, nomVolume: string; compteur1: integer; fichier: textFile; begin chemin1:= string(chemin); cheminSauvegarde:='\'; nomVolume:= chemin[1]; // récupére le nom du volume de sauvegarde for compteur1:=5 to length(chemin) do //scrute le chemin du caractere 5 à la fin begin if ((chemin1[compteur1]<>'\') or (chemin1[compteur1+1]<>'\') ) then // récupere le nom de chaque répertoire begin cheminSauvegarde:= cheminSauvegarde+chemin1[compteur1]; end else begin MkDir(nomVolume+':'+ cheminSauvegarde); //sauvegarde le répertoire récupéré end; end; MkDir(nomVolume+':'+ cheminSauvegarde); AssignFile(fichier, cheminSauvegarde); // créer le fichier texte Rewrite(fichier); Writeln(fichier, '<FICHE_TEST></FICHE_TEST>'); closeFile(fichier); end;
Le problème, c(est que cette fonction va etre appelé par un programme en C qui l'appellera de la manière suivante:
avec PTR5 qui est un pointeur sur ma fonction (appel dynamique).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Ptr5("C:\\repertoire1\\repertoire2\\texte.txt");
Cela me provoque une erreur fatal qui se passe lors du passage du parametre d'entrée puisque quand je fixe dans ma DLL le chemin de sauvegarde tout se passe bien...
Quelqu'un voit-il le problème???
Partager