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

C++Builder Discussion :

Fichier Ressource Borland C++ 6.0 [FAQ]


Sujet :

C++Builder

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut Fichier Ressource Borland C++ 6.0
    Bonjour

    Mon fichier ressource bdd.rc se presente comme cela :

    Film RCDATA Films.mdb

    J'ai inclu le fichier .rc a mon projet quand je compile mon projet il me cree bien un fichier .res

    Maintenant j'aimerais pouvoir utiliser ce fichier (Films.mdb) pour le copier ou le lire etc...
    J'ai cree pour cela un composant TMemo et j'ai ecrit ca dans mon .cpp :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Memo1->Lines->LoadFromFile(Film);
    ou Film est l'identifiant marque dans le fichier bdd.rc

    Quand je le compile j'obtient cette erreur :

    [C++ Error] main.cpp(16): E2451 Undefined symbol 'Film'

    On me dit de rajouter cette ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    #pragma ressource "bdd.res"
    mais rien n'y fait

    Merci d'avance si quelqu'un a la reponse.

    ++ Nexus

  2. #2
    Membre �prouv� Avatar de ken_le_videur
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    129
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 129
    Par d�faut
    1) Il faudrait d�ja d�clarer ta variable Film avant de l'utiliser ( le Film de bdd.rc n'est PAS une variable)

    2) La m�thode LoadFromFile ne charge un fichier qu'� partir du DD, et pas � partir d'une ressource. Utilise les fonctions ad�quates pour ce faire.

    3) M'�tonnerais qu'un m�mo puisse charger une basse access

  3. #3
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    Slt,

    1) Comment d�clarer la variable Film ???

    2) Je testais juste un exemple moi ce que je voudrais que le programme fasse c'est qu'il prenne le fichier Films.mdb contenu dans al ressource et le copie a un emplacement sp�cifique du DD.

    Merci ++ Nexus

  4. #4
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Regardes si tu peux te d�brouiller avec �a.
    C'est du Delphi mais c'est assez proche de C++ Builder pour pouvoir �tre compr�hensible.

  5. #5
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    Merci ca m'a un peu servi alors voila mtnt mon erreur
    Je redonne le code de mon fichier .rc

    1 RCDATA "Films.mdb"

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Res = new TResourceStream(0, 1, "RT_RCDATA");
    ShowMessage(Res->Size);
    Res->SaveToFile("C:\\Films.mdb");
    Aucune erreur au compilateur mais quand je lance l'appli il me met qu'il y a une erreur EAccessViolation sur la premiere ligne

    Merci de votre aide
    ++ Nexus

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Essayes avec �a (je promets rien...)
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    TResourceStream* Res = new TResourceStream(hInstance,"Film","RT_RCDATA");

  7. #7
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    hInstance est une variable non declaree

    L'aide de borland dit :
    Le param�tre Instance indique le handle d'instance Windows associ� � l'ex�cutable ou la DLL contenant la ressource.
    Ne faudrait t-il pas creer une instance sur la ressource mais ... Comment faire ???

    Merci ++ Nexus

  8. #8
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Remplaces le hInstance par 0. je viens de tester comme �a et �a marche autant au niveau de la r�cup�ration de la taille que de la cr�ation de la base � partir du fichier ressource.

    Je ne sais pas si c'est la meilleure m�thode mais elle marche.

  9. #9
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    ReSalut,

    J'ai beau remplacee par 0 tjs cette erreur EAccessViolation au lancement.

    Si ca passe chez toi px tu me donner ce que tu as marque exactement que je puisse le tester

    Merci ++ Nexus

  10. #10
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    OK,
    1 - j'ai cr�� un fichier ressource vide � l'ide de l'�diteur d'images de BCB.
    2 - j'ai ajout� une base avec une table et 3 champs dans ce fichier ressource gr�ce � ResourceHacker. La ressource s'appelle Base (vachement original, non ).
    3 - J'ai inclus mon fichier ressource � mon projet.
    4 - J'ai fait le code suivant:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    AnsiString ResName = "Base";
     TResourceStream* Res = new TResourceStream(0,ResName,"RT_RCDATA");
     Label1->Caption = Res->Size;
     Res->SaveToFile(Edit1->Text);//contient le chemin cible pour le fichier
     delete Res;
    5 - j'ai test� et �a � marcher.

  11. #11
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    Pfouuu je sais pas si c moi ou le logiciel qui le fait expres mais bon

    Code du fichier base.rc : BASE RCDATA "RCData_2.bin"

    Le Fichier RCData_2.bin est un fichier que le logiciel ResourceHacker a cree automatiquement quand je lui est donne mon fichier .mdb

    une fois cree je rajoute au projet le fichier base.rc et ce code dans le .cpp :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    AnsiString ResName = "BASE";
    TResourceStream* Res = new TResourceStream(0,ResName,"RT_RCDATA");
    ShowMessage(Res->Size);
    Res->SaveToFile("C:\\Films.mdb");
    delete Res;
    Mais quand je lance l'application il me met
    Resource BASE not found
    Alors la je comprend vraiment plus pack avant j'arrivais au moins a trouver ma resource

    ++ Nexus

  12. #12
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    enleve les guillemets sur RT_RCDATA
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    TResourceStream* Res = new TResourceStream(0,"Film",RT_RCDATA);
    il n'y a pas besoin d'utiliser ResourceHacker
    Ceci est suffisant dans le fichier rc:
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  13. #13
    Membre Expert
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Novembre 2004
    Messages
    1 286
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 39
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Produits et services t�l�com et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 286
    Par d�faut
    Salut effectivement en enlevant les guillemets ca marche

    J'ai essaye aussi en ecrivant manuelement le fichier rc masi sans aucun resultat

    Ben encore merci et a la prochaine

    ++ Nexus

  14. #14
    Membre Expert
    Avatar de DjmSoftware
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2002
    Messages
    1 044
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activit� : Responsable de compte
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 044
    Billets dans le blog
    1
    Par d�faut
    Bonsoir,
    la syntaxe correcte pour cette fonction est la suivante
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    TResourceStream* Res = new TResourceStream((int)HInstance,ResName,RT_RCDATA);
    cordialement
    vous trouverez mes tutoriels � l'adresse suivante: http://djmsoftware.developpez.com/
    je vous en souhaite une excellente lecture ...

    A lire : Les r�gles du forum

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Fichier Ressource
    Par kurul1 dans le forum C++Builder
    R�ponses: 5
    Dernier message: 28/04/2005, 15h47
  2. [WinForms] Fichier ressource + icone
    Par freddyboy dans le forum G�n�ral Dotnet
    R�ponses: 9
    Dernier message: 15/04/2005, 17h06
  3. [NASM] Utiliser des fichiers ressources
    Par trax44 dans le forum Assembleur
    R�ponses: 8
    Dernier message: 26/09/2004, 18h42
  4. Fichier ressource et infos de version
    Par gord's dans le forum Langage
    R�ponses: 4
    Dernier message: 25/06/2004, 17h05
  5. Fichier ressource contenant une ic�ne
    Par k_boy dans le forum x86 32-bits / 64-bits
    R�ponses: 9
    Dernier message: 26/09/2002, 20h59

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