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 :

Android et répertoire de données


Sujet :

Langage Delphi

  1. #1
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut Android et répertoire de données
    Bonjour

    dans une très lègère application d'un seul interface je récupère des données d'un site puis je les affiche.
    dans le code, selon le résultat d'une condition je récupère une image png et je la transmets à un TImage. Sous windows aucun problème tout fonctionne bien mais sous Android j'ai un message indiquant qu'il n'a pas trouvé le chemin. Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    case nic of
         1 : Stream.LoadFromFile('..\..\Images\01.png ');
         2 : Stream.LoadFromFile('..\..\Images\02.png ');
         3 : Stream.LoadFromFile('..\..\Images\03.png ');
         4 : Stream.LoadFromFile('..\..\Images\04.png ');
        end;
    d'où ma question comment garantir que cela marche même sous Android sans provoquer d'erreur et ou dois-je mettre les images ?

    merci tout le monde.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #2
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 930
    Points : 1 959
    Points
    1 959
    Par défaut
    Bonjour,

    La gestion des fichiers est complètement différente sous Android. il faut que tu utilises TPath, cela a été discuté plusieurs fois sur ce forum comme ici :

    https://www.developpez.net/forums/d2...sets-internal/

    https://www.developpez.net/forums/d1...ce-non-trouve/

    Tu trouveras beaucoup d'infos en faisant une recherche sur ce forum avec le mot clé : TPath

    Tu as aussi des infos ici :

    https://docwiki.embarcadero.com/RADS...ises_en_charge

  3. #3
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    D'où viennent les images pour atterrir dans ../../ ?

    Le "\" n'est utilisé que sous Windows, pour les autres plateformes c'est "/" et donc mieux vaut utiliser l'unité System.IOUtils avec son TPath.Combine() en plus des fonctions d'accès aux chemins selon la plateforme.

  4. #4
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    merci pour votre aide précieuse. alors pour commencer j'ai lu ce que vous m'avez propoez et j'ai essyé de m'inspirer du de code de Serge (en fait c'est plus du copier que de l'inspiration).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    {$IFDEF ANDROID}
              var f : String := TPath.Combine(Tpath.GetDocumentsPath,'01.PNG');
              if FileExists(f) then Image1.Bitmap.LoadFromFile(f)
              else raise exception.create('fichier '+f+' non trouvé');
            {$ENDIF}
            {$IFDEF MSWINDOWS}
              var res : TResourceStream := TResourceStream.Create(HInstance, '01.png',RT_RCDATA);
              Res.Position := 0;
              Image1.Bitmap.LoadFromStream(res);
            {$ENDIF}
    avec les directives c'est plus compréhensibles sauf que j'ai eu une erreur sur la ligne en rouge signalant que la propriété "Position" est inconnue ?
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  5. #5
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par pprem Voir le message
    D'où viennent les images pour atterrir dans ../../ ?

    Le "\" n'est utilisé que sous Windows, pour les autres plateformes c'est "/" et donc mieux vaut utiliser l'unité System.IOUtils avec son TPath.Combine() en plus des fonctions d'accès aux chemins selon la plateforme.
    Tout à fait oui ... je viens de réécrire le code comme proposé par Serge mais j'ai une erreur sur la propriété Position ?!!!
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Sinon au lieu des directives pour encadrer le code, pourquoi ne pas plutôt faire une classe abstraite TImageLoader implementé par TImageLoaderAndroid et TImageLoaderWindows, la directive n'encadre que le code de la TImageLoader.Factory genre

    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
    class function TImageLoader.GetClass(): TImageLoaderClass; // TImageLoaderClass = class of TImageLoader 
    begin
      Result := {$IFDEF ANDROID}TImageLoaderAndroid{$ELSE}{$IFDEF MSWINDOWS}TImageLoaderWindows{$ELSE}raise EAbstractError.Create('TImageLoader not implemented'){$ENDIF}{$ENDIF};
    end;
     
    class procedure TImageLoaderAndroid.LoadIntoImage(const AImageName: string; AImage: TImage); // override du virtual abstract
    var
      f: string;
    begin
      f := TPath.Combine(TPath.GetDocumentsPath(), AImageName);
      if FileExists(f) then
        AImage.Bitmap.LoadFromFile(f)
      else 
        raise exception.create('fichier '+f+' non trouvé');
    end;
     
    class procedure TImageLoaderWindows.LoadIntoImage(const AImageName: string; AImage: TImage); // override du virtual abstract
    var
      res : TResourceStream;
    begin
      res := TResourceStream.Create(HInstance, AImage, RT_RCDATA);
      try
         Res.Position := 0; // Seek(0, soBeginning);
         AImage.Bitmap.LoadFromStream(res);
      finally
        res.Free();
      end;
    end;
    Ainsi le code d'utilisation sera plus propre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TImageLoader.GetClass().LoadIntoImage('01.png', Image1);
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 429
    Points : 24 794
    Points
    24 794
    Par défaut
    Si l'on suppose que '01.png' est le nom réel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TImageLoader.GetClass().LoadIntoImage(Format('%.2d.png', [nic]), Image1); // de 00 à 99

    Si l'on suppose que '01.png' ce n'est que pour l'exemple, que le nom est plus complexe

    une constante soit en local dans une fonction ou cachée quelque part
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    const IMAGE_NAMES: array[1..4] of string = ('01.png', '02.png', '03.png', '04.png');
    On peut ainsi oublier le case est avoir un code bien court
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TImageLoader.GetClass().LoadIntoImage(IMAGE_NAMES[nic]), Image1);
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  8. #8
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Sinon au lieu des directives pour encadrer le code, pourquoi ne pas plutôt faire une classe abstraite TImageLoader implementé par TImageLoaderAndroid et TImageLoaderWindows, la directive n'encadre que le code de la TImageLoader
    oui nettement plus propore, je vais m'en servir merci @ShaiLeTroll
    reste que ça ne répond pas au pourquoi de la chose ! Positionest déclarée inconnue dans mon ancien code ?!!!
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  9. #9
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 429
    Points : 24 794
    Points
    24 794
    Par défaut
    N'ayant pas de Delphi récent, je ne peux pas dire si cela vient de la nouvelle syntaxe de déclaration inline var res : TResourceStream := ... ou une problématique de la portée de bloc begin..end
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  10. #10
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    j'ai eu une erreur sur la ligne en rouge signalant que la propriété "Position" est inconnue ?
    Et c'est là qu'intervient la version de Delphi utilisée...

    L'erreur est-elle signalée dans l'éditeur de code ou à la compilation.
    Que dit-il exactement lors de la compilation ?
    Quelle version de Delphi utilises-tu ?

  11. #11
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par pprem Voir le message
    Et c'est là qu'intervient la version de Delphi utilisée...

    L'erreur est-elle signalée dans l'éditeur de code ou à la compilation.
    Que dit-il exactement lors de la compilation ?
    Quelle version de Delphi utilises-tu ?
    c'est dans l'éditeur de code. j'utilise la version 10.4 update 2
    le message est comme suit :
    [dcc32 Error] Unit2.pas(110): E2026 Constant expression expected
    j'ai enlevé la déclaration en ligne mais j'ai la même erreur donc ce n'est pas dû à la déclaration en ligne.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  12. #12
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    j'ai enlevé la déclaration en ligne mais j'ai la même erreur donc ce n'est pas dû à la déclaration en ligne.
    Bon réflexe. En 10.4.2 avec la config standard ça ne devrait pas poser problème, mais c'est bien vu.

    Par contre l'erreur "E2026 Constant expression expected" laisse supposer qu'il y a un soucis mais pas forcément celui auquel tu penses.

    Peux-tu nous faire une copie d'écran de l'erreur et des lignes au dessus dans l'IDE ?

  13. #13
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par pprem Voir le message
    Peux-tu nous faire une copie d'écran de l'erreur et des lignes au dessus dans l'IDE ?
    bien-sûr.

    Nom : erreur bizarre.jpg
Affichages : 129
Taille : 126,5 Ko
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Il te manque simplement un begin..end

    Mais ces histoires de ressources pour des images, tu te fatigues pour rien ! Tu arriverais au même résultat avec TImageCollection\TVirtualImageList (je pense aux images nommées en l'ocurence).

  15. #15
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Il te manque simplement un begin..end
    donc les directives de compilation réagissent comme des blocs !

    Citation Envoyé par Andnotor Voir le message
    Il Mais ces histoires de ressources pour des images, tu te fatigues pour rien ! Tu arriverais au même résultat avec TImageCollection\TVirtualImageList (je pense aux images nommées en l'ocurence).
    par contre là je ne te suis plus.

    remièrement pour moi c'est comme un training donc faut emprunter plusieurs chemins pour bien comprendre la chose.
    n'empéche que je verrais bien du coté TImageCollection

    Edit:
    en ajoutant le begin end j'ai un problème ici (ligne en rouge)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {$IFDEF MSWINDOWS}
            begin
              Res := TResourceStream.Create(
              HInstance, '01.png',RT_RCDATA);
                Res.Position := 0;
                Image1.Bitmap.LoadFromStream(res);
            end;
            {$ENDIF}
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  16. #16
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    mince alors ... c'est une erreur impardonable de ma part le begin ... end c'est pour le case
    pour le TImage fallait utilisr Picture pas Bitmap .... ouffff eutre erreur de débutant
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

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

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 671
    Points : 13 065
    Points
    13 065
    Par défaut
    Même chose pour la partie Android hein

    Et tu peux simplifier tout ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    begin
    {$IFDEF ANDROID}
      var f := TPath.Combine(Tpath.GetDocumentsPath,'01.PNG');
      if FileExists(f) then Image1.Picture.LoadFromFile(f)
      else raise exception.create('fichier '+f+' non trouvé');
    {$ELSEIF MSWINDOWS}
      var res := TResourceStream.Create(HInstance, '01.png',RT_RCDATA);
      Res.Position := 0;
      Image1.Picture.LoadFromStream(res);
    {$ENDIF}
    end;

    Citation Envoyé par Just-Soft Voir le message
    par contre là je ne te suis plus.
    Tu poses un TImageCollection, double-clics dessus et ajoutes tes images. Le nom de l'image apparaît en bas d'écran et tu peux le personnaliser.
    Si tu as besoin d'une liste d'images (une barre de boutons par exemple), tu poses un TVirtualImageList et le lies au TImageCollection. Tous les composants avec une propriété Images acceptent TVirtualImageList.

    Si c'est pour une seule image, un TVirtualImage lié au TImageCollection.

    Dans tous les cas, en plus de l' "ancienne" propriété ImageIndex, tu as maintenant ImageName.

  18. #18
    Membre expert
    Avatar de pprem
    Homme Profil pro
    MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Inscrit en
    Juin 2013
    Messages
    1 876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : MVP Embarcadero - formateur&développeur Delphi, PHP et JS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 876
    Points : 3 611
    Points
    3 611
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    donc les directives de compilation réagissent comme des blocs !
    Justement pas : c'est juste une série d'instruction qui sont traitées par le compilateur selon la directive conditionnelle testée.

    Je sais, c'est piégeur, mais il faut les considérer pour ce qu'elles sont : des commentaires dans le source.

  19. #19
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Citation Envoyé par Andnotor Voir le message
    Tu poses un TImageCollection, double-clics dessus et ajoutes tes images. Le nom de l'image apparaît en bas d'écran et tu peux le personnaliser.
    Si tu as besoin d'une liste d'images (une barre de boutons par exemple), tu poses un TVirtualImageList et le lies au TImageCollection. Tous les composants avec une propriété Images acceptent TVirtualImageList.

    Si c'est pour une seule image, un TVirtualImage lié au TImageCollection.

    Dans tous les cas, en plus de l' "ancienne" propriété ImageIndex, tu as maintenant ImageName.
    je ne sais pas pourquoi j'ai pas eu ce réflexe en premier lieu pourtant si logique et facile à réaliser !
    merci encore.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  20. #20
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Je ne sais pas ce qui se passe avec moi mais je ne trouve ni TVirtualImageList ni TImageCollection.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD16] Répertoire des données
    Par thierrybatlle dans le forum WinDev
    Réponses: 3
    Dernier message: 04/04/2011, 17h14
  2. Répertoire de données de ClickOnce
    Par adaneels dans le forum Windows Presentation Foundation
    Réponses: 0
    Dernier message: 12/10/2009, 18h05
  3. Réponses: 1
    Dernier message: 26/11/2008, 15h53
  4. Déplacement du répertoire de données
    Par enchanté dans le forum Administration
    Réponses: 1
    Dernier message: 30/10/2008, 17h22

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