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 :

TForm dans une DLL


Sujet :

Langage Delphi

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut TForm dans une DLL
    Bonjour,
    J'ai une DLL de classe qui contient une Unité standard (Tform), par la clause Uses habituelle.

    Une des fonctions de cette DLL a pour mission d'instancier la Form de l'Unité, et de la faire apparaître pour continuer le traitement dans cette fenêtre.
    Lors de l'appel de cette fonction depuis l'application principale de test, j'obtiens un message du genre "access violation at address 0000".
    Comment faire ? Handle ?

    En fait, j'ai une application complète écrite en Delphi 2006 que je dois interfacer au moyen d'une DLL d'échange standardisé avec une autre application (VS C++) sur laquelle je n'ai aucune "prise".


    Merci pour les idées...

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 165
    Points
    25 165
    Par défaut
    Ces sujets devrait te plaire :
    - Passer un TStringList en paramètre dans une DLL
    - DLL String Pourquoi ça marche sans BORLNDMM.DLL , dans celui-ci les fonction GetDLLForm et FreeDLLForm devrait t'intéresser

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par dgeodp Voir le message
    Bonjour,
    J'ai une DLL de classe qui contient une Unité standard (Tform), par la clause Uses habituelle.

    Une des fonctions de cette DLL a pour mission d'instancier la Form de l'Unité, et de la faire apparaître pour continuer le traitement dans cette fenêtre.
    Lors de l'appel de cette fonction depuis l'application principale de test, j'obtiens un message du genre "access violation at address 0000".
    Comment faire ? Handle ?

    En fait, j'ai une application complète écrite en Delphi 2006 que je dois interfacer au moyen d'une DLL d'échange standardisé avec une autre application (VS C++) sur laquelle je n'ai aucune "prise".


    Merci pour les idées...
    Salut,

    Tu utilises la techno des COM (Common Object Microsoft) ?

    En gros dans ton cas, je pense que tu dois transformer ton appli delphi en Activex, pas trop complexe si l'appli n'est pas lourde.

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Eventuellement !
    Citation Envoyé par inox77 Voir le message
    Salut,

    Tu utilises la techno des COM (Common Object Microsoft) ?

    En gros dans ton cas, je pense que tu dois transformer ton appli delphi en Activex, pas trop complexe si l'appli n'est pas lourde.
    Non , pas de COM, seulement du Delphi simple. La DLL à developper doit apporter tous les résultats (des Strings seulement) d'une "moulinette" pour les rendre compatible avec l'application C++. L'ennui, c'est que cette application C++ n'utilise qu'une seule fonction d'import-export normalisée d'après le type de données, et c'est impossible de faire un appel de création ou de destruction de Form par elle.
    C'est la DLL qui doit s'en charger.. d'où ma recherche...

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Ces sujets devrait te plaire :
    - Passer un TStringList en paramètre dans une DLL
    - DLL String Pourquoi ça marche sans BORLNDMM.DLL , dans celui-ci les fonction GetDLLForm et FreeDLLForm devrait t'intéresser
    Merci, je vais essayer de comprendre tout ce qui se passe dans ton code... je ne suis pas rapide, je suis suisse

Discussions similaires

  1. gestion des TForm dans une DLL
    Par a_lincoln54 dans le forum C++
    Réponses: 0
    Dernier message: 06/04/2008, 18h15
  2. Réponses: 22
    Dernier message: 11/06/2007, 23h24
  3. TForm dans une dll appelée dynamiquement
    Par declencher dans le forum Delphi
    Réponses: 2
    Dernier message: 22/12/2006, 11h21
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15

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