J'ai créé une DLL avec PB compilant tout un tas de fonctions qui me sont utiles dans d'autres programmes (codés en VB6 principalement). Seulement voilà, quand j'essaie d'utiliser cette DLL dans un programme PB, ça ne renvois rien ou ça plante totalement.
Etant une quiche en PB (je me débrouille un peu mais bon), j'ai besoin d'un petit coup de pouce.
Code de la DLL (j'ai met pas toutes les fonctions, c'est juste pour comprendre)
Code : Tout sélectionner
ProcedureDLL.I FileSHA1(FileName$)
If FileSize(FileName$)=-1
String$="ERREUR"
Else
String$=SHA1FileFingerprint(FileName$)
EndIf
ProcedureReturn SysAllocStringByteLen_(String$,Len(String$))
EndProcedure
ProcedureDLL AddToRecentsDocuments(FileName.s)
SHAddToRecentDocs_(2,FileName)
EndProcedure
Code : Tout sélectionner
Public Declare Function FileSHA1 Lib "flib.dll" (ByVal FileName As String) As String
Public Declare Function AddToRecentsDocuments Lib "flib.dll" (ByVal FileName As String) As String
Dim sSha1 as String
sSha1 = FileSHA1("E:\Files\archive.zip")
Text1.Text = sSha1 'Et ça fonctionne
Call AddToRecentsDocuments("E:\Files\Maquette.pdf") 'Idem ça marche
Si quelqu'un peut me donner un début de réponse pour que cela fonctionne (et sur VB6 et sur PB)
D'avance, merci.