Bon j'ai essayer de faire la même chose en Pb, et la tout fonctionne sauf l'image
Code : Tout sélectionner
Global gDllName$="Swelio32.dll"
If OpenLibrary(0,gDllName$)=0
MessageRequester("Erreur Dll","Canot open "+gDllName$)
End
EndIf
If Not CallFunction(0,"StartEngine")
MessageRequester("Erreur Dll","Canot run engine "+gDllName$)
End
EndIf
If Not CallFunction(0,"IsCardPresentEx",0)
MessageRequester("Erreur carte","Aucune carte d'indentité n'a été identifiée"+gDllName$)
End
EndIf
Structure Identity
CardNumber.s{13}
ChipNumber.s{33}
BeginValidity.s{11}
EndNalidity.s{11}
Contry.s{81}
NationalNumber.s{12}
Name.s{111}
FirstNameOne.s{96}
FistNameTwice.s{4}
Nationality.s{86}
BirthLocation.s{81}
BirthDate.s{13}
Sex.s{2}
NobleCondition.s{51}
DocumentType.i
WhiteCane.b
YellowCane.b
ExtendMinority.b
EndStructure
Structure Adress
Street.s{81}
zipCode.s{5}
contry.s{68}
EndStructure
Structure Picture
Picture.s{4097}
LenPicture.q
EndStructure
Global myIdentity.Identity,myAdress.Adress,myPicture.Picture
;Global *myPicture
If Not CallCFunction(0,"StartEngine")
MessageRequester("Erreur lecture carte","Impossible de démaré la Dll")
End
EndIf
If Not CallCFunction(0,"IsCardPresent",0)
MessageRequester("Erreur lecture carte","Aucune carte n'a été détéctée")
End
EndIf
If Not CallFunction(0,"ReadIdentityA",@myIdentity)
MessageRequester("Erreur lecture carte","Impossible de lire l'identité")
End
EndIf
If Not CallFunction(0,"ReadAddressA",@myAdress)
MessageRequester("Erreur lecture carte","Impossible de lire l'adresse")
End
EndIf
If Not CallFunction(0,"ReadPhotoEx",0,@myPicture)
MessageRequester("Erreur lecture carte","Impossible de lire la photo")
End
EndIf
CallFunction(0,"StopEngine")
CloseLibrary(0)
Debug myPicture\LenPicture ; Renvoie 51539607552
Debug myPicture\Picture ; Renvoie ÿØÿà
Flag=#PB_Window_SystemMenu|#PB_Window_ScreenCentered
LoadFont(0,"Arial",12,#PB_Font_HighQuality)
Debug CatchImage(0,@myPicture\Picture)
OpenWindow(0,0,0,800,600,"Lecture carte d'indentité",Flag)
M=10
W=(WindowWidth(0)-(M*3))/4
H=30
X=M
Y=M
TextGadget(0,X,Y,W,H,"Nom :")
X+W
StringGadget(1,X,Y,W,H,myIdentity\Name,#PB_String_ReadOnly)
X+W+M
TextGadget(2,X,Y,W,H,"Prénom :")
X+W
StringGadget(3,X,Y,W,H,myIdentity\FirstNameOne,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(4,X,Y,W,H,"Numéro national :")
X+W
StringGadget(5,X,Y,W,H,myIdentity\NationalNumber,#PB_String_ReadOnly)
X+W+M
TextGadget(6,X,Y,W,H,"Date de naissance :")
X+W
Date$=Right(myIdentity\BirthDate,2)+"/"+Mid(myIdentity\BirthDate,5,2)+"/"+Left(myIdentity\BirthDate,4)
StringGadget(7,X,Y,W,H,Date$,#PB_String_ReadOnly)
Wl=(WindowWidth(0)-(M*2))-W
X=M
Y+H+M
TextGadget(8,X,Y,W,H,"Adresse :")
X+W
StringGadget(9,X,Y,Wl,H,myAdress\Street,#PB_String_ReadOnly)
X=M
Y+H+M
TextGadget(10,X,Y,W,H,"Code postal :")
X+W
StringGadget(11,X,Y,W,H,myAdress\zipCode,#PB_String_ReadOnly)
X+W+M
TextGadget(12,X,Y,W,H,"Localité :")
X+W
StringGadget(13,X,Y,W,H,myAdress\contry,#PB_String_ReadOnly)
Y+H+M
; ImageGadget(14,X,Y,256,256,ImageID(*myPicture))
For N=0 To 13
SetGadgetFont(N,FontID(0))
Next
Repeat
Event=WaitWindowEvent()
Until Event=#PB_Event_CloseWindow