Millenod
Messages postés35Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention21 septembre 2005
-
22 nov. 2004 à 16:20
MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 2005
-
5 déc. 2004 à 11:38
Bonjour,
J'aimerais savoir si le problème sur lequel je me casse le nez depuis aujourd'hui est possible :
J'ai une application qui charge mes dll (plugins), contenant chacune une frame.
Interface :
Cette application est constituée d'une tListBox sur la gauche, servant de menu, et d'un TabControl sur le reste de la fenêtre.
Ce tabControl possède une TFrame, qui servira à charger les frames des plugins.
But à atteindre :
- chargement de la DLL (ok)
- Création d'un onglet dans TabControl correspondant au nom du plugin. (ok).
- Chargement de la frame du plugin dans le TabControl (c'est là que je coince).
Comment Puis-je charger dans le TFrame du TabControl, une frame de Type TFramePlugin1, TFramePlugin2, TFramePlugin3 ?
En vous remerciant d'avance pour votre aide précieuse.
Par contre j'ai bien peur que ça n'implique pour toi un total remaniement de ton code... :os
Sinon comme je penserais qu'une fonction dans ta DLL du genre "LoadPlugin(Parent: TFrame);" que tu appellerais en passant la frame de ton TabControl en paramètre fonctionnerait...
Mais vu la difficulté du tutoriel d'au-dessus, j'en doute...
Il faut que tu testes, et tiens nous au courant ! :oD
Millenod
Messages postés35Date d'inscriptionmardi 29 avril 2003StatutMembreDernière intervention21 septembre 2005 22 nov. 2004 à 22:25
Je viens de trouver une partie de ma solution :
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls;
type
TForm1 = class(TForm)
PageControl: TPageControl;
TabSheet1: TTabSheet;
procedure TabSheet1Show(Sender: TObject);
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses
unit2, unit3;
procedure TForm1.TabSheet1Show(Sender: TObject);
var
f : tframe;
begin
f := TFrame3.Create(self);
f.Parent := self;
f.Align := alClient;
end;
avec les 3 dernières lignes de code, je peux charger une frame sur la totalité de la zone de l'onglet...
il ne devrait plus qu'à (ah, les y'a qu'à, faut qu'on...) charger la frame directement depuis la dll :)
En tout cas merci pour ton aide rapide, et ce tuto :)
MoveX
Messages postés230Date d'inscriptionvendredi 9 mai 2003StatutMembreDernière intervention16 juillet 20051 5 déc. 2004 à 11:38
tu pourrais afficher ton code complet stp. je suis en train de faire un systeme de plugins moi aussi et j ai des petits problemes quant au chargement du contenu des dll.