Runtime error 216 à la fermeture de l'application
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:
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:
1 2
| start_contrat(Uppercase(DMSphere.dbHotel.Username),DMSphere.dbHotel.Password,ParamStr(1),Application.Handle);
free_contrat; |
code sur la dll
Code:
1 2
| procedure start_Contrat(username,pass,alias:string;HandleAppli : HWND);stdcall;
procedure free_contrat;stdcall; |
Code:
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.