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 :

Un fichier Header C++ à partir de Delphi


Sujet :

Langage Delphi

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Un fichier Header C++ à partir de Delphi
    Bonjour à tous

    Je dois passer mes DLL à un développeur C++ mais je ne sais pas écrire le fichier entête pour utiliser quelques fonctions qui fonctionne en DELPHI.

    Serait-ce de la compétence de ce forum ?
    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
    const
      _HdegVectorDim = 60;  // nombre de secteurs angulaires dans CIE h°
      _HDegVectorStep = 6;  // Largeur en degré d'un secteur angulaire
      _ExePathMask = 'DATA\CALIB\MASK.TXT';
     
    type
      // Vecteur couleurs pour l'analyse image agro-alimentaire ISO 11037 angles 6°
      TNbrPixelsByHdeg = array[0..pred(_HdegVectorDim)] of Integer;
      TPeekDualVector= array[0..1] of TNbrPixelsByHdeg;
      TPeekDualVectorPtr = ^TPeekDualVector;
     
      // Type Gamut LCh
      TPeekGamutLCH = record
        CheckInclude   :  boolean;
        CheckHue       :  boolean;
        CheckChroma    :  boolean;
        CheckLuminance :  boolean;
        maxHDegree     :  Single;
        maxChroma      :  Single;
        maxLuminance   :  Single;
        minHDegree     :  Single;
        minChroma      :  Single;
        minLuminance   :  Single;
        ImgName        :  AnsiString;
      end;
      TPeekGamutLCHPtr = ^TPeekGamutLCH;
     
      // Paramétrage ColorVector
      TPeekVectorParams = record
        frstCMin: single;
        TwinVector: boolean;
        CMin,
        Lmin,
        LMax: single;
        ImgName: AnsiString;
      end;
      TPeekVectorParamsPtr = ^TPeekVectorParams;var
     
      PEEKCOLOR_PATH: AnsiString; // Chemin de l'exe
      BMPCopy: TBitmap;// Pour disposer d'une copie bitmap de l'image JPeg
      MaskFileName: AnsiString; // Chemin du masque de calibration
     
    //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Fonctions de PeekISO11037.DLL
    // Initialisation dePeekISO11037.DLL
    function PEEKDLL_InitISO11037DLL_OK( ExePath: AnsiString) : boolean;
                    stdCall; external 'PeekISO11037_02.dll';
     
     
    function PEEKDLL_MakeCalibrate: single;
                    stdCall; external 'PeekISO11037_02.dll';
     
     
    function PEEKDLL_CreatChartMaskOk( ChartPtr: HBitmap): boolean;
                    stdCall; external 'PeekISO11037_02.dll';
     
     
    //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Fonctions de PeekIndusVision_02.DLL
    // Initialisation de PeekVisionDLL
    function PEEKVEC_DLLInit(ExePath: AnsiString): single;
                    stdCall; external 'PeekIndusVision_02.dll';
     
     
    // Retourne un vecteur de segments angulaires 36 secteurs de 6°
    function PEEKVEC_ColorVectorFromImage( BMPPtr:HBitmap;
                                           ImgFileName,OperName: AnsiString;
                                           VecTorParamsPtr: TPeekVectorParamsPtr;
                                           VecPtr: TPeekDualVectorPtr ):Boolean;
                    stdCall; external 'PeekIndusVision_02.dll';
     
     
    // Dessine un graph pour afficher un vecteur couleur d'une image
    procedure PEEKVEC_DrawChromaticGraph( BMPPtr: HBitmap;
                                          VecTorParamsPtr: TPeekVectorParamsPtr;
                                          VecPtr: TPeekDualVectorPtr);
                    stdCall; external 'PeekIndusVision_02.dll';
     
    // Affiche couleurs gamut sélectionné en affichant colorExclude sur les autres
    function PEEKVEC_CalcGamut( BMPPtr: HBitmap; GamutPtr: TPeekGamutLCHPtr;
                                ImgFileName,OperName: AnsiString;
                                ColorExclude: TColor ): Integer;
                    stdCall; external 'PeekIndusVision_02.dll';
    Quelqu'un peut-il m'aider ?

    Mille merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    du forum je ne sais pas, mais moi je sais faire ^^

    par contre, j'ose espérer que les AnsiString sont manipulée en lecture seule sinon bonjour les dégâts !!

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Points : 182
    Points
    182
    Par défaut Oui
    Oui AnsiString est en lecture seule...

    Merci ce serait sympa de me faire la translation en C++ car je n'y arrive pas.

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    bah, en gros
    les constantes sont des "define"
    les type des typedef
    les Boolean des byte
    les Single des float
    les record des struct
    les AnisChar des char*

    quand à tes variables globales j'imagine qu'elles n'ont rien à faire là...

    pour le reste ... voici un exemple

Discussions similaires

  1. Lire un fichier PDF a partir de Delphi
    Par souminet dans le forum Débuter
    Réponses: 1
    Dernier message: 14/06/2008, 09h43
  2. Comment imprimer un fichier Pdf directement à partir de Delphi ?
    Par toumoham dans le forum API, COM et SDKs
    Réponses: 11
    Dernier message: 07/12/2005, 15h28
  3. comment afficher l'etat a partir de delphi 6
    Par devalender dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/06/2004, 19h41
  4. __declspec(dllexport) dans mon fichier header mais...?
    Par Jasmine dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 03/03/2004, 18h00

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