Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1836 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Les .dll en delphi .. ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Les .dll en delphi .. ?

n°402763
piloud
Posté le 21-05-2003 à 14:40:20  profilanswer
 

Bon voila je suis pas sur que ca serve a ca mais bon :)  
mon prog exe commence a devenir assez gros et puis jaimerai le diviser en plusieurs fichier .  
 
Puis meme , ca fait plus style , d'avoir des .dll en plus du simple executable !  
 
les .dll sont ils des forms (autre que le main form ) compilé a part ?  
 
si non , a koi servent les dll ?  
 
Voila , eclairer moi !

mood
Publicité
Posté le 21-05-2003 à 14:40:20  profilanswer
 

n°402822
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-05-2003 à 14:58:31  profilanswer
 

Tu mets ce que tu veux dans les DLL (un DLL c'est comme un EXE, sauf que ce n'est pas l'utilisateur qui le lance, mais un autre programme qui en appelle des fonctions) mais il faut savoir que le passage de paramètres entre l'EXE n'est pas aussi simple qu'entre parties d'un même EXE


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°403069
_gtm_
Posté le 21-05-2003 à 16:02:57  profilanswer
 

Si tu as un exe et des dll, ça sera aussi gros en mémoire que l'exe qui contient tout. Les dll, ça a de l'intérêt seulement si tu veux pouvoir les échanger ou les partager entre plusieurs programmes qui sont actifs en même temps.

n°403169
piloud
Posté le 21-05-2003 à 16:34:47  profilanswer
 

ok merci

n°403393
antp
Super Administrateur
Champion des excuses bidons
Posté le 21-05-2003 à 19:03:31  profilanswer
 

_gtm_ a écrit :

Si tu as un exe et des dll, ça sera aussi gros en mémoire que l'exe qui contient tout.  


 
heu non, si tu ne charges tes DLL que quand tu en as besoin (dymaniquement donc) ça permet justement de réduire la place occupée en mémoire si des parties du programmes ne sont utilisées qu'occasionnellement.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°404404
KrzAramis
Help Me
Posté le 22-05-2003 à 14:55:48  profilanswer
 

antp a écrit :


 
heu non, si tu ne charges tes DLL que quand tu en as besoin (dymaniquement donc) ça permet justement de réduire la place occupée en mémoire si des parties du programmes ne sont utilisées qu'occasionnellement.
 


 
Exactement moi je m en sers pour faire des "About Box" c est vachement pratique car t a plus besoin de le refaire une fois que ca marche comme il faut. Tous mes programmes l utilisent et ca commence a faire gagner du temps en development maintenant.
Bien entendu j espere pour voir bientot integre d autre fonctions  [:ddr555]  
 
@->--

n°406797
piloud
Posté le 24-05-2003 à 13:41:11  profilanswer
 

ya moyen de de lancer la dll avec un parametre ..  
(comme une procedure ? )  
 
pour ton aboutbox par exemple
 
on appellerai la dll avec comme parametre le nom du soft . c possible ca ?

n°406816
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-05-2003 à 14:24:53  profilanswer
 

bah oui, les procédures/fonctions qui sont dans les DLL peuvent prendre des paramètres (heureusement :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°406909
Ciler
Posté le 24-05-2003 à 20:07:14  profilanswer
 

antp a écrit :

bah oui, les procédures/fonctions qui sont dans les DLL peuvent prendre des paramètres (heureusement :D)


 
suffit d'un hein, un bon gros pointeur  :whistle:


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
n°407837
KrzAramis
Help Me
Posté le 26-05-2003 à 13:21:27  profilanswer
 

Comme par exemple le code suivant  

Code :
  1. Procedure TForm_Main.ActAboutExecute(Sender: TObject);
  2. var
  3.   Company, Project, Version : Pchar; ComSize, ProjSize, VerSize : Cardinal;
  4. Begin
  5.   ComSize := 25; ProjSize := 25; VerSize := 25;
  6.   Company := 'Napier University'; Project :=  ‘Honours Project’; Version := '1.4';
  7.   Hdle := loadlibrary('dll\abBox.dll');
  8.   if Hdle <> 0 then
  9.   begin
  10.     try
  11.       @DllFormCreate := GetProcAddress(Hdle, 'Create_Form');
  12.       if @DllFormCreate <> nil then
  13.         begin
  14.           DllFormCreate();
  15.         end;//if
  16.       @MyInfo := GetProcAddress(Hdle, 'DisplayInfo');
  17.       if @MyInfo <> nil then
  18.         begin
  19.           MyInfo(Company, Project, Version, ComSize, ProjSize, VerSize);
  20.         end;//if
  21.       @DllFormFree := GetProcAddress(Hdle, 'Free_Form');
  22.       if @DllFormFree <> nil then
  23.         begin
  24.           DllFormFree();
  25.         end;
  26.     finally
  27.       FreeLibrary(Hdle);
  28.     end;//try...finally
  29.   end//if Hdle...
  30.   else
  31.     MessageDlg(Err_Msg_Dll,mtError,[mbOk],0);
  32. End;


Dans mon aboutbox generique je transfere a la form contenue dans la DLL les infos a afficher. L utilisation des char et Pchar permettent d eviter d utiliser la Brlndmmdll.dll !
 
 [:ddr555] @->--
 
PS: copyright Krz Aramis  [:ddr555]


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
mood
Publicité
Posté le 26-05-2003 à 13:21:27  profilanswer
 

n°407869
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-05-2003 à 13:48:18  profilanswer
 

Y a différents moyen d'utiliser le type string tout en ne devant pas distribuer ce DLL [:kiki]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°408020
KrzAramis
Help Me
Posté le 26-05-2003 à 15:27:52  profilanswer
 

antp a écrit :

Y a différents moyen d'utiliser le type string tout en ne devant pas distribuer ce DLL [:kiki]  


 
Ca je savais pas !  [:ddr555] desole !
 
 
@->--


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
n°408026
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-05-2003 à 15:31:43  profilanswer
 

ça m'étonne que tu n'aies pas demandé comment [:figti]
 
http://www.codexterity.com/fastsharemem.htm


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°409021
KrzAramis
Help Me
Posté le 27-05-2003 à 11:44:47  profilanswer
 

antp a écrit :

ça m'étonne que tu n'aies pas demandé comment [:figti]
 
http://www.codexterity.com/fastsharemem.htm


Tu triches antp ! dans l aide de Delphi il est deconseille d utilise les type string dans les DLL. Je pouvais pas savoir qu il y a des gars qui s amuse a corrige les defaults de Delphi.
D ailleurs j ai une question a ce sujet. Sachant que le TXPManifest a ete developpe par un independant et est mainteant inclus dans D7 le bug sur les DLL a t il aussi etait corrige (a.ka le les sources developpes ci dessus incluses dans D7 ?)
 
@->--
 
PS: Antp tricheur  :o


---------------
The Only Way for Evils to Triumph is for Good Men to do Nothing @->-- Cours Réseaux@->-- Mon Site
n°409042
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-05-2003 à 12:03:43  profilanswer
 

Non pour les DLL c'est toujours ce même vieux borlndmm.dll à ma connaissance.
Mais la version actuelle de FastShareMem (supportant NT/2K/XP) est récente, elle ne date que d'après la sortie de Delphi 7 ;) (septembre 2002)


Message édité par antp le 27-05-2003 à 12:04:33

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°409122
Ciler
Posté le 27-05-2003 à 13:38:03  profilanswer
 

antp a écrit :

Y a différents moyen d'utiliser le type string tout en ne devant pas distribuer ce DLL [:kiki]  


 
MAimaimai cetrezinteressan tout ca [:meganne]


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Les .dll en delphi .. ?

 

Sujets relatifs
[DELPHI] recuperer les arguments de la ligne de commande[Delphi] Recherche désespéremment procédure ALPHA-BETA.....
Delphi et WebCam...Comment gerer une BD sous Delphi avec Oracle
Comment recreer un projet Borland/Delphi a partir de .pas et .dfmversion gratuite de delphi 6 BORLAND
Faire un programme qui utilise plusieur cpu avec delphi 6Question sur Dblookupcombobox de Delphi 5 et SQL server 2000
[Delphi] TreeView : question de base....[Delphi] Récupérer la taille d'un (gros) fichier
Plus de sujets relatifs à : Les .dll en delphi .. ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR