IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

Form dans une DLL


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 7
    Points
    7
    Par défaut Form dans une DLL
    Bonjour,
    je débute en programmation des DLLs.
    Je veux mettre en place une petite Dll qui retourne une form ... mais je suis bloqué, car j’ai ajouté des propriétés et des procédures à la fenêtre (La rubrique Public) et je veux les exporter. Comment faire ?

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    // La DLL
    library Prvad001;
    uses
      SysUtils,
      Classes,
      windows,
      uPrintVAD;
     
     
    Function CreateRapport: TFormPrintVAD;
    begin
     Application.CreateForm(TFormPrintVAD, PrintVAD);
     PrintVAD.InitialiseTout;
     Result := PrintVAD;
    end;
     
    Procedure DestroyRapport;
    begin
     PrintVAD.Free;
    end;
     
    exports CreateRapport, DestroyRapport;
     
    end.
     
     
    // La form
    unit uPrintVAD;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, PReport, StdCtrls, jpeg, PRJpegImage, ExtCtrls, PdfDoc, ComCtrls,
      ShellAPI;
     
    type
      TFormPrintVAD = class(TForm)
      private
         { Déclarations privées }
         // des fonctions privées
      public
        property bAucunDef: Boolean read GetAucunDef write SetAucunDef;
        property bArrimage: Boolean read GetArrimage write SetArrimage;
        property bAttelage: Boolean read GetAttelage write SetAttelage;
        property bCadre: Boolean read GetCadre write SetCadre;
     
        procedure InitialiseTout; virtual; export;
        Procedure EditRapport (pFileName: ShortString; pPrintOption: PAnsiChar); virtual; export;
      end;
     
    var
     PrintVAD : TFormPrintVAD;
     
    Implementation
    // code

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Bonjour,

    Si j'ai bien compris, il faut que les procedure public de votre form soir accessible via la DLL.

    La seule possibilité que je vous est de créer une procedure dans la dll équivalent à chaque procedure exporter.

    en faite la procédure de la dll se contenterais de transmettre L'odre a votre forme

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 12
    Points : 7
    Points
    7
    Par défaut
    ... et pour les propriétés??

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2003
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 560
    Points : 576
    Points
    576
    Par défaut
    Les transmettre dans avec l'apelle

    Par exemple la DLL contient:
    une procedure createform
    une procedure Deleteforme
    des procedure Proc1(param1, param2, param3), Proc2(param1, param2, param3)

    En appelant les procedure de la dll on fait:

    createform crée la form Myform
    Deleteforme la détruit
    Proc1 apelle Myform.proc1(param1, param2, param3)
    etc..

Discussions similaires

  1. [Lazarus] Une Form dans une DLL ?
    Par jojo86 dans le forum Lazarus
    Réponses: 2
    Dernier message: 21/05/2012, 12h45
  2. focus form dans une dll
    Par edam dans le forum Langage
    Réponses: 8
    Dernier message: 27/01/2012, 18h12
  3. form dans une dll
    Par arnopub dans le forum Windows Forms
    Réponses: 3
    Dernier message: 28/09/2009, 15h48
  4. Réponses: 9
    Dernier message: 19/08/2009, 11h43
  5. Réponses: 9
    Dernier message: 29/03/2005, 10h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo