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

Messages postés
442
Date d'inscription
samedi 23 novembre 2002
Statut
Membre
Dernière intervention
19 octobre 2005
- - Dernière réponse : 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

Afficher la suite 
cs_potiok
Messages postés
2
Date d'inscription
mercredi 23 juillet 2003
Statut
Membre
Dernière intervention
2 janvier 2007
-
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
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
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
-
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
2233
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5 -
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
-
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....