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 :

Question sur exports et les classes (pour une dll)


Sujet :

Langage Delphi

  1. #1
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut Question sur exports et les classes (pour une dll)
    Bonjour !

    J'ai le code suivant dans une dll :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TFrmYmPlayerExample.FormCreate(Sender: TObject);cdecl;
    Je voudrais utiliser 'exports' mais l'accès m'est refusé. exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure TFrmYmPlayerExample.FormCreate(Sender: TObject);cdecl;exports name 'Play';
    me sort un message d'erreur. Que faire ?

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 964
    Points
    6 964
    Par défaut
    Dans l'aide, ils font ca différemment.
    Tu as essayé ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    exports
     
      Divide(X, Y: Integer) name 'Divide_Ints',
      Divide(X, Y: Real) name 'Divide_Reals';
    :
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  3. #3
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut
    Malheureusement, cela ne fonctionne toujours pas. Voila en gros d'ou viens le nom de fonction si cela peux aider :
    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
    type
    	TFrmYmPlayerExample = class(TForm)
        cmdChangeMixerMode: TButton;
        spnVolume: TSpinEdit;
        lblVolume: TLabel;
        lblMixerMode: TLabel;
        procedure FormCreate(Sender: TObject);cdecl;
        procedure FormDestroy(Sender: TObject);cdecl;
        procedure cmdChangeMixerModeClick(Sender: TObject);
        procedure spnVolumeChange(Sender: TObject);
          private
            	m_player: CYmEngine;
               m_mode: TYmMixerMode;
    		private
           	function mixerModeToString(theMode: TYmMixerMode): string;
      		public
    	end;
     
    ...............
     
    etc
    ...............
     
    exports
      TFrmYmPlayerExample.FormCreate(Sender: TObject) name 'Play',
      TFrmYmPlayerExample.Destroy(Sender: TObject) name 'Stop';

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Ouh la... Tu veux exporter un objet de ta DLL ? Je pense que tu t'y pends mal. Exporte deux fonctions standard qui créeront et détruiront ta fenêtre mais pas directement les fonctions que tu dis, qui ne sont en outre que des évènements et non l'appel aux constructeurs et destructeurs.
    "It's more fun to compute !"

  5. #5
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut
    le probleme c'est que je ne sais pas comment les appeler

  6. #6
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut
    enfin, je ne sais pas comment construire ou detruire la fenetre autrement

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Je ne sais pas... Quelque chose comme :

    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
    var
      FrmYmPlayerExample: TFrmYmPlayerExample;
     
    [...]
     
    procedure Play(const AApplicationHandle: Cardinal); stdcall;
    begin
      if not Assigned(FrmYmPlayerExample) then
      begin
         //Créer la fenêtre
         Application.Handle := AApplicationHandle;
         FrmYmPlayerExample := TFrmYmPlayerExample.Create;
         FrmYmPlayerExample.Show;
      end;
    end;
     
    procedure Stop; stdcall;
    begin
      //détruire la fenêtre
      if Assigned(FrmYmPlayerExample) then
      begin
         FrmYmPlayerExample.Release;
         FrmYmPlayerExample := nil;
      end;
    end;
     
    exports
      Play,
      Stop;
    "It's more fun to compute !"

  8. #8
    Membre régulier
    Avatar de DjPoke
    Homme Profil pro
    Invalide temporaire
    Inscrit en
    Août 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Invalide temporaire

    Informations forums :
    Inscription : Août 2005
    Messages : 93
    Points : 77
    Points
    77
    Billets dans le blog
    1
    Par défaut
    Ok, merci beaucoup, je vais essayer !

Discussions similaires

  1. question sur les classe pour intancier un objet ?
    Par panthere noire dans le forum Débuter
    Réponses: 4
    Dernier message: 12/04/2010, 06h08
  2. [SQL] Besoin d'aide sur les attributs pour une requete
    Par bobobobo01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/11/2006, 21h39
  3. [VBA-E]Encore une question sur csv et les dates
    Par vovor dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/10/2006, 10h43
  4. [Reflection] Obtenir toutes les classes implémentant une interface
    Par Pill_S dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 20/04/2005, 16h48
  5. Exporter TOUS les users d'une base
    Par Nullos Oracle dans le forum Oracle
    Réponses: 12
    Dernier message: 13/03/2005, 20h32

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