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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.