Bonjour,
j'ai un problème de runtime 216 à la fermeture de mon application,
lorsque j'utilise une dll.
j'ai lu pas mal de chose à ce sujet sur ce forum, mais sans succès.
cela viens à partir du moment où je met un Tbitbtn sur le form de la dll (un Tbutton simple fonctionne).
je vous met le code (tout simple).
code sur l'application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 procedure start_contrat(name,pass,alias:AnsiString;HandleAppli : HWND); stdcall;external 'dll\Contrats.dll' name 'Start_Contrat'; procedure free_contrat; stdcall;external 'dll\Contrats.dll' name 'Free_Contrat';code sur la dll
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 start_contrat(Uppercase(DMSphere.dbHotel.Username),DMSphere.dbHotel.Password,ParamStr(1),Application.Handle); free_contrat;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 procedure start_Contrat(username,pass,alias:string;HandleAppli : HWND);stdcall; procedure free_contrat;stdcall;
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 procedure start_Contrat(username,pass,alias:string;HandleAppli : HWND); begin Application.Handle := HandleAppli; Application.CreateForm(TFContrat, FContrat); FContrat.Position := poScreenCenter; FContrat.Showmodal; end; exports Start_contrat name FUNC_DLL_CONTRAT; procedure free_contrat; begin FContrat.destroyform; end; exports free_contrat name FUNC_DLL_FREECONTRAT; destructor TFContrat.destroyform; begin FContrat.Free; FContrat := nil; inherited; end;
Voila donc si je rajoute un bitbtn (par exemple) sur mon form, message runtime eror 216 quand je quitte l’application.
merci d'avance.
Partager