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
Je voudrais qu'elle soit capable d'effectuer des modifications sur le TPanel qu'elle reçoit en paramètre.
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.
Actuellement si dans ma feuille principale j'appelle
elle m'affiche bien le premier paramètre que je lui passe mais rien au niveau du Caption du panel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part xxx('test'+Panel1.caption, Panel1);
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.
Partager