CREER UNE DLL AVEC DES FORMS + APPEL DE CES FORMS DANS 1 PROG.

cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005 - 14 juin 2004 à 16:40
cs_potiok Messages postés 2 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 2 janvier 2007 - 18 juil. 2004 à 10:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/23679-creer-une-dll-avec-des-forms-appel-de-ces-forms-dans-1-prog

cs_potiok Messages postés 2 Date d'inscription mercredi 23 juillet 2003 Statut Membre Dernière intervention 2 janvier 2007
18 juil. 2004 à 10:15
J'ai développé plusieurs applications basées sur le principe de TForm dans des DLL.
Elles ont toutes le TXPManifest. Je n'ai jamais eu d'erreur.
En fait, il manque quelque chose dans ta DLL.
En effet, tu dois lui passer au moins le handle de la fiche/application appelante.

function Montrer_couleurs(AppHdl : THandle; var Couleur: ShortString) : boolean; stdcall;
var
oldAppHdl : Hwnd;

begin
OldAppHdl := Application.Handle;
Application.Handle := AppHdl;


Application.CreateForm(TForm1, Form1);

RESULT :form1.ShowModal mrOk; // La montrer ...

If RESULT // Click sur le bouton Ok ?
Then Couleur := form1.ListBox1.Items[form1.ListBox1.ItemIndex]; // Retourner la couleur ...

form1.Release; // Detruire la form ...
Application.Handle := OldAppHdl;
end;
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
15 juin 2004 à 10:18
Personne n' a essayé la dll avec le composant XPMan dans l' executable?
Il serait interessant de constater qu' en fermant l' executable après avoir ouvert la form dans la dll, il se produit une erreur ...
Je pense que c' est un bug (qui me pourrit la vie).
Si quelqu' un sait pourquoi ...
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
15 juin 2004 à 00:35
ok thanks !
j'ai essayé ca marche c cool, on peut aussi retirer ou ajouter des composants dans Uses, c bien ca (moi j'passe de VB a Delphi) donc j'fais un peu les comparaisons, mais c sympa par exemle de coder de dll en delphi et de les utiliser en VB car certaiens choses sont difficiles et lente a faire en VB et delphi propose des fonctions deja tt faites.
mais Delphi est hyper intuitif quand tu connais VB.

aller @+ et merci.
cs_MAURICIO Messages postés 2106 Date d'inscription mardi 10 décembre 2002 Statut Modérateur Dernière intervention 15 décembre 2014 5
14 juin 2004 à 18:14
Alors c très facile:
tu fais nouveau projet de type dll ...
MAIS, tu ne crées pas de Tform pour ta dll.
Le reste fonctionne comme dans mon exemple,
il faut juste que tu enleves le code de creation et de destruction de la form !!!
Dans ton programme tu déclare la fonction de la dll comme dans mon exemple.
Ex, tu peux créer une fonction qui fait l' addition de 2 nombres:

function FAIT_ADDITION(param1, param2: integer): Integer; stdcall;
begin
RESULT := param1 + param2;
end;

C tout simple : )
A+
cs_TheHacker Messages postés 442 Date d'inscription samedi 23 novembre 2002 Statut Membre Dernière intervention 19 octobre 2005
14 juin 2004 à 16:40
sais tu comment faire un DLL sans form ?
j'crois avoir trouvé l'option, mais une fois dedans j'pige aps comment coder, ou déclare rles var etc....
Rejoignez-nous