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

Delphi .NET Discussion :

Comment (ou peut on) créer une DLL .NET ?


Sujet :

Delphi .NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut Comment (ou peut on) créer une DLL .NET ?
    Bonjour....

    Je dispose de DELPHI 2006 (version professionnelle) et je souhaite créer une DLL en technologie .NET. Jusque là j'avais toujours créé mes DLL Win 32 avec Delphi grace à l'expert de DLL. Et lorsque que je suis allé voir les possibilité offerte en .NET je me suis appercu qu'il n'y avait plus cette expert DLL.

    Cela signifie-t-il que je ne peux pas créer de DLL .NET?
    Si c'est possible comment dois-je faire?

    Merci d'avance...

    Une chose m'étonne quand meme c que borland dit de son produit que l'on retrouve en .NET tout ce qu'il y a en WIN32 mais je ne vois pas ca comme ca (exemple on dispose en WIN 32 du composant graphique TXMLDocument qui a disparu en .NET (il faut attaqué la classe--> adieu l'inspecteur d'objet... ). --> ce n'est qu'un exemple parmi tant d'autre

  2. #2
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Les composants qui ont disparu sont pour la plupart des choses qui n'ont plus d'intérêt sous .NET. Par exemple la manipulation des fichiers XML est aujourd'hui fournie de base dans les assemblages systeme de .NET, il faut utiliser les classes fournies par .NET donc.

    Concernant les DLL, elles existent toujours et on trouve bien entendu la possibilité d'en créer lorsqu'on fait "fichier nouveau"...
    Reste à savoir quel type de DLL tu veux faire : librairie de composants VCL.NET, librairie de composants ASP.NET, librairie de composants WebForms, librairie de classes ? A chaque cas correspond une entrée dans "fichier nouveau"...

    Rappel : les DLL type win32 avec export de fonctions n'existent plus sous .NET où seules des classes peuvent être définies.
    Rappel 2: les packages Delphi sont redevenus des DLL standard ce qu'ils n'étaient pas sous Win32 car Win32 n'avait pas standardisé de format DLL pour les objets alors que sous .NET toute DLL est forcément objet.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut
    OK d'accord donc si j'ai bien compris (je ne suis pas une star en programmation ) si je crée une librairie VCL.NET, je vais créer un .DLL?

    Et est ce que cette DLL (.net) pourra etre utiliser par un programme win32 en C par exemple tout comme je le fais actuellement avec les DLL que je créé en Win32 sous Delphi?

  4. #4
    Membre émérite
    Avatar de Merlin
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2002
    Messages
    524
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mars 2002
    Messages : 524
    Points : 2 883
    Points
    2 883
    Par défaut
    Citation Envoyé par Mickey.jet
    OK d'accord donc si j'ai bien compris (je ne suis pas une star en programmation ) si je crée une librairie VCL.NET, je vais créer un .DLL?
    oui car il n'y a que les exe ou les dll, les packages spécifiques de delphi n'existent plus (les bpl).

    Et est ce que cette DLL (.net) pourra etre utiliser par un programme win32 en C par exemple tout comme je le fais actuellement avec les DLL que je créé en Win32 sous Delphi?
    Cette technique s'appelle les unsafe export, j'en parle justement dans mon troisième livre qui vient de paraître chez eyrolles :-)
    http://www.eyrolles.com/Informatique...-2006-et-c.php

    Mais comme je ne suis pas chien :-) je vais te donner le squelette d'une telle lib :

    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
     
    library DNETDLLTest;
    {$UNSAFECODE ON}
     
    {$IFNDEF CLR}
    {$MESSAGE FATAL 
     'Ce code ne peut être compilé qu''avec Delphi 8 .NET et suivants'}
    {$ENDIF}
     
    Function Multiplier(a,b:integer):integer;
    begin
     result := a * b ;
    end;
     
    Procedure DoubleVersChaine(d:double;var s:string);
    begin
     s := d.ToString('####0.000')+' {D.NET !}';
    end;
     
    exports
     Multiplier, DoubleVersChaine;
    end.
    tu noteras que la lib utilise le flag UNSAFECODE, cela signifie que cette DLL posera de gros problèmes de sécurité sous .NET... La technique n'est donc pas recommandée.
    En gros la stratégie acceptable est la suivante :

    1/ tu crées une lib purement .NET qui sera safe pour .NET
    2/ tu crées une lib spéciale comme ci-dessus qui est liée à la première et qui exporte les fonctions pour Win32.
    3/ les applis .NET utilisent uniquement et directement la première lib, les applis Win32 utilisent la seconde uniquement.
    Comme cela, tu évites d'avoir un truc trop bancale.

  5. #5
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut
    Ok merci pour ton aide Merlin...

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/08/2013, 13h14
  2. [Langage]Comment utiliser une dll .NET dans VB6?
    Par BouB dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 13/04/2006, 14h20
  3. [VB6]comment créer une dll
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 12/04/2006, 14h32
  4. Comment créer une dll Win32 sous Delphi ?
    Par Mickey.jet dans le forum Langage
    Réponses: 8
    Dernier message: 16/06/2005, 15h38

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