Modifier un TPanel via une DLL
Passer un TPanel en paramètre à une DLL.
J'ai une application qui va utiliser plusieurs DLL
Le code d'une DLL ressemble actuellement à ceci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| library dll;
{ Remarque importante concernant la gestion de mémoire des DLL : ShareMem doit être
la première unité de la clause USES de votre bibliothèque ET de votre projet
(sélectionnez Projet-Voir source) si votre DLL exporte des procédures ou des
fonctions qui passent des chaînes comme paramètres ou résultats de fonctions.
Ceci s'applique à toutes les chaînes passées de et vers votre DLL - même celles
qui sont imbriquées dans des enregistrements et classes. ShareMem est l'unité d'interface pour
le gestionnaire de mémoire partagée BORLNDMM.DLL, qui doit être déployé avec
vos DLLs. Pour éviter d'utiliser BORLNDMM.DLL, passez les informations de chaînes
avec des paramètres PChar ou ShortString.}
uses
FastShareMem in '..\..\IAD\FastShareMem.pas' {FastShareMem},
SysUtils,
Classes,
dialogs,
Forms,
QExtCtrls;
{$R *.RES}
Procedure xxx(P1 : String;
var Objet : TPanel);
Begin
showmessage('dll' + P1);
showmessage(Objet.Caption);
End;
Exports xxx;
begin
end. |
Je voudrais qu'elle soit capable d'effectuer des modifications sur le TPanel qu'elle reçoit en paramètre.
Actuellement si dans ma feuille principale j'appelle
Code:
xxx('test'+Panel1.caption, Panel1);
elle m'affiche bien le premier paramètre que je lui passe mais rien au niveau du Caption du panel.
J'ai fait une recherche et trouvé un sujet à peu près semblable (c'est là que j'ai trouvé le lien sur FastShareMem) mais je n'arrive pas à m'en sortir.