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

  FORUM HardWare.fr
  Programmation
  C++

  [Builder c++] exportation de composant vcl contenu dans une dll

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Builder c++] exportation de composant vcl contenu dans une dll

n°146133
ashram79
Posté le 28-05-2002 à 14:09:17  profilanswer
 

salut,
 
j'essaye d'exporter un formulaire
contenu dans une DLL pour l'utiliser à partir du prgm
principal  
cela compile
mais lorsque j'execute ça me met
l'erreur suivante :
" classe d'exception EAccessViolation avec le message 'violation
d'accès à l'adresse 0022BA2A dans le module 'DLLVCL.dll'.Lecture
de l'adresse 7B0825F3.' "
 
si qq un pouvait m'aider
je lui en serait éternellemnt reconnaissant
 :jap:

mood
Publicité
Posté le 28-05-2002 à 14:09:17  profilanswer
 

n°146139
antp
Super Administrateur
Champion des excuses bidons
Posté le 28-05-2002 à 14:12:35  profilanswer
 

Tu veux faire quoi exactement ? Utiliser dans un programme un composant VCL défini dans un DLL ? Il me semble que ce n'est pas possible...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°146142
ashram79
Posté le 28-05-2002 à 14:16:28  profilanswer
 

oui c ce que je veux faire
 :cry:

n°146171
zion
Plop
Posté le 28-05-2002 à 14:46:56  profilanswer
 

Définir un composant dans un DLL ca conduit inévitablement à un plantage... Tu peux utiliser un form à la limite mais pas un composant.
 
Par contre tu peux essayer en ActiveX  :D

n°146708
ashram79
Posté le 29-05-2002 à 09:57:35  profilanswer
 

oui mais ce que je veux faire
c à partir d'une fenêtre MDI principale,
ouvrir une fenêtre MDI fille  
ça c simple
mais le pb c que ma fenêtre MDI fille est dans une dll
et la ça plante à l'execution
(j'ais essayé de la mettre dans un paquet mais même résultat)
 :cry:

n°146746
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-05-2002 à 10:23:41  profilanswer
 

ça ça devrait fonctionner je crois, une fenêtre dans une DLL
maintenant faut voir comment tu fais l'appel et la construction de la fenêtre ;)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°146762
ashram79
Posté le 29-05-2002 à 10:37:54  profilanswer
 

voici un exemple simplifié de ce que je faire
 
dans le ccp de ma fenêtre MDI principale, je fais :
 
#include <vcl.h>
 
#pragma hdrstop
 
#include "TFom1.h"
#include "TForm2.h"
 
//---------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
void __fastcall TForm1::Nouveau1Click(TObject *Sender)
{
        TForm2 * child;
        child = new TForm2(this);
        child->Show();        
}
 
et la déclaration de TForm2 ds la dll est :
 
ifndef TForm2H
#define TForm2H
//---------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------
class __declspec( dllexport ) TForm2 : public TForm
{
__published: // Composants gérés par l'EDI
private: // Déclarations de l'utilisateur
public:  // Déclarations de l'utilisateur
        __fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------
#endif

 

[jfdsdjhfuetppo]--Message édité par ashram79 le 29-05-2002 à 10:38:33--[/jfdsdjhfuetppo]

n°146768
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-05-2002 à 10:41:57  profilanswer
 

:heink: c'est très bizarre la façon dont tu utilise cette dll...
enfin c'est peut-être normal

 

[jfdsdjhfuetppo]--Message édité par antp le 29-05-2002 à 10:43:32--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°146780
ashram79
Posté le 29-05-2002 à 10:48:49  profilanswer
 

je suis obligé de faire comme ça par rapport
à ce qui va être fait ensuite
 
PS : j'ais oublié de préciser que la dll n'est pas chargée dynamiquement mais en statique

n°146791
antp
Super Administrateur
Champion des excuses bidons
Posté le 29-05-2002 à 11:00:27  profilanswer
 

je me doute bien que c'est statique, mais je ne savais pas qu'on pouvait utiliser une classe d'une DLL comme ça...  
je pense que tu dois appeler une fonction de ta DLL qui elle va créer Form2... Mais ce n'est qu'une supposition, vu que je n'ai pas beaucoup utilisé de DLL (et juste en dynamique) je risque de t'induire en erreur...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 29-05-2002 à 11:00:27  profilanswer
 

n°146797
ashram79
Posté le 29-05-2002 à 11:05:30  profilanswer
 

exporter des classes en statique c possible  
( j'ais déjà essayé et ça marche bien)
mais là le pb c que c des composants graphiques borland

n°146840
BENB
100% Lux.
Posté le 29-05-2002 à 11:51:14  profilanswer
 

Tu as essaye sans les __fastcall ?
c'est compatible avec des appels entre Prog et Dll ?

n°146844
ashram79
Posté le 29-05-2002 à 11:56:14  profilanswer
 

sans les __fastcall il ne compile même pas
 :cry:  :cry:

 

[jfdsdjhfuetppo]--Message édité par ashram79 le 29-05-2002 à 11:57:17--[/jfdsdjhfuetppo]

n°146857
BENB
100% Lux.
Posté le 29-05-2002 à 12:06:39  profilanswer
 

Sinon, question bete...
le dllexport, il devient bien un dllimport pour le prog principal ?

n°146911
ashram79
Posté le 29-05-2002 à 13:14:54  profilanswer
 

oui oui


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [Builder c++] exportation de composant vcl contenu dans une dll

 

Sujets relatifs
Question bête : récupérer contenu de champs de texte sans soumission[Delphi] Composant qui affiche du XML sous forme de Treeview ?
j'aimerais recuperer la text contenu dans ma balise <a> avec D.O.MImpression d'un etat en C++ Builder ou Delphi HELP!
[shell UNIX] contenu variableHelp! Comment créer un ActiveX sous C++ Builder?
Vous en pensez quoi ce site: graphisme, fonctionalité, contenu?[ C++ Builder 6 ] Pb de Handle
[ C++ Builder ] Association d'événement à un TMenuItemPHP / Mysql -> Script News -> Exportation vers un autre site
Plus de sujets relatifs à : [Builder c++] exportation de composant vcl contenu dans une dll


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