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 :

Comment créer un bitmap de travail dans une DLL


Sujet :

Langage Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    803
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Comment créer un bitmap de travail dans une DLL
    Bonjour à tous,

    Dans une fonction développée avec ExpertDLL j'ai besoin de créer provisoirement une image bitmap
    Voici le type de fonction
    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
     
    function ModifieCanvas( Canvas: TCanvas; CanRect: TRect ): Integer;
    var
      W,H: Integer;
      BMP:TBitmap;
    begin
      W:= CanRect.Right-CanRect.Left;
      H:= CanRect.Bottom-CanRect.Top;
      BMP:= TBitmap.Create;
      try
    //  faitquelquechose;
      finally
        BMP.Free;
      end;
      result:= W*H;
    end;
    Le code source de la DLL ne reconnait pas Tbitmap.Create
    J'utilise TBitmap car j'ai besoin d'utiliser la fonction ScanLine sui n'existe pas dans TCanvas

    Quelqu'un a-t'il une idée ?

    Bon apres midi à tous

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Ajoute Graphics au uses.

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut Mais Graphics est déjà déclaré
    Graphics est déjà déclaré dans les uses

    D'ailleurs dans cette DLL j'ai déclaré d'autres fonctions qui travaillent sur des paramètres TCanvas sasn poser aucun problème.

    D'ailleurs la déclaration dans Var de BMP: TBitmap ne me signale aucune erreur alors que sur la ligne BMP:= Tbitmap.Create; la fonction .create est soulignée en rouge avec à la compilation l'erreur "E2003 : Identificateur non déclaré : 'Create'"

    As-tu une autre idée ?

  4. #4
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Alors c'est que tu as un type record déclaré comme... TBitmap:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type
      TBitmap = record
        ...
      end;
    Passe ta souris dessus pour voir où il est déclaré.
    Ensuite, si tu es responsable , renomme-le! Sinon modifie l'ordre des uses.

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 803
    Par défaut
    sur la TBitmap de la déclaration dans var

    tagTBIMAPtype
    TBitmap - =Windows.tagBITMAP

    sur la ligne TBitmap.Create

    identificateur TBitmap non déclaré

  6. #6
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 941
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 941
    Par défaut
    Comme je te dis, change l'ordre du uses.
    C'est le type trouvé dans la dernière unité déclarée qui est utilisé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    //Juste
    uses Windows, Graphics;
     
    //Faux
    uses Graphics, Windows;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 14/03/2012, 15h01
  2. Réponses: 6
    Dernier message: 22/02/2011, 22h46
  3. Réponses: 16
    Dernier message: 06/08/2006, 23h45
  4. Réponses: 4
    Dernier message: 03/03/2004, 11h04
  5. Comment créer un bitmap à partir d'un panel ?
    Par calou34 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 19/08/2003, 15h06

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