FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Utilisation des ressources d'un exécutable Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Utilisation des ressources d'un exécutable Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Utilisation des ressources d'un exécutable Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Utilisation des ressources d'un exécutable Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Utilisation des ressources d'un exécutable Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Utilisation des ressources d'un exécutable Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Utilisation des ressources d'un exécutable Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Utilisation des ressources d'un exécutable Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Utilisation des ressources d'un exécutable Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Utilisation des ressources d'un exécutable Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Utilisation des ressources d'un exécutable Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Utilisation des ressources d'un exécutable Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Utilisation des ressources d'un exécutable Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Utilisation des ressources d'un exécutable Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Utilisation des ressources d'un exécutable Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-55%
Le deal à ne pas rater :
Coffret d’outils – STANLEY – STMT0-74101 – 38 pièces – ...
21.99 € 49.04 €
Voir le deal

 

 Utilisation des ressources d'un exécutable

Aller en bas 
5 participants
AuteurMessage
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilisation des ressources d'un exécutable Empty
MessageSujet: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyDim 1 Mar 2015 - 23:57

Les fichiers inclus dans un exécutable en mode "création d'application" (TXT, BMP et JPG) sont inclus en tant que ressources. Mais je n'ai trouvé aucun moyen d'y accéder. Ai-je manqué quelque chose ?

En tout cas, je propose une fonction du type:
Code:
RESOURCE_EXISTS(type$,name$)
qui retournerait 1 si la ressource de type type$ et de nom name$ esxiste, et 0 sinon

Et une commande du type:
Code:
RESOURCE_EXTRACT type$,name$,file$
qui déposerait dans le fichier file$ le contenu de la ressource de type type$ et de nom name$

En Delphi, dans une DLL, je sais faire. Mais tout l'intérêt de ces extension serait de pouvoir le faire en Panoramic pur, ce qui permettrait par exemple d'inclure une DLL (KGF.dll pour ne pas la nommer, dans mon cas) comme ressource, de l'extraire au lancement du progamme si la dll n'est pas déjà présente, puis de l'utiliser normalement. Idem pour des fichiers de configurations, même des fichiers ZIP contenant des arborescences entières. Car, avec l'aide de Jean-Claude, j'ai trouvé le moyen d'inclure tout cela dans l'exécutable en tant que ressource, sans qu'il soit nécessaire de changer la façon de créer l'application par l'éditeur de Panoramic.

Dans KGF.dll, depuis longtemps, j'ai la fonction suivante:
Code:
// extraire une ressource existante et l'écrire dans un fichier
function ExtractExistingResource(exefile, restype, resname, savefile: pstring):integer; stdcall; export;
begin
  result := WriteResourcesToFile(exefile^, restype^, resname^, savefile^);
end;
Et la fonction WriteResourcesToFile est:
Code:
function WriteResourcesToFile(exefile, restype, resname, savefile: string):integer;
var
  ms: TMemoryStream;
  cnt: integer;
begin
  try
    ms := TMemoryStream.Create;
    result := GetResourcesData(exefile, restype, resname, ms);
    if result=0 then exit;
    ms.SaveToFile(savefile);
    ms.Free;
  finally
  end;
end;
La fonction GetResourcesData est:
Code:
function GetResourcesData(exefile, restype, resname: string; var ms: TMemoryStream):integer;
var
  hinst: HMODULE;
  var rs: TResourceStream;
begin
  result := 0;
  try
    if not assigned(ms) then ms := TMemoryStream.Create;
    try
      hinst := LoadLibraryEx(PChar(exefile), 0, LOAD_LIBRARY_AS_DATAFILE);
      if FindResource(hinst, PChar(resname), Pchar(restype))<>0 then begin
        rs :=TResourceStream.Create(hinst, resname, PChar(restype));
        rs.Position := 0; // rewind the stream
        ms.CopyFrom(rs,rs.Size);
        rs.Free;
        result := ms.Size;
      end;
      FreeLibrary(hinst);
    except end;
  finally
  end;
end;
La fonction ExtractExistingResource est très simple et fait exactement ce que je recherche. Mais, le hic, c'est qu'il faut avoir KGF.dll...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
JL35




Nombre de messages : 7095
Localisation : 77
Date d'inscription : 29/11/2007

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyLun 2 Mar 2015 - 13:09

Merci Jean-Claude ! Very Happy
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyLun 2 Mar 2015 - 14:26

Très bonne suggestion Jean-Claude. En plus comme Jack n'a plus rien dans son escarcelle, ça va l'occuper un peu depuis ses vacances à l'étranger ( Wink ). Même suggestion que ce que j'ai mis sur un autre post, mais toujours peut être carrément en dehors de la plaque. Peut être faudrait il avoir un système de disque virtuel en mémoire pour pouvoir travailler (extraire les ressources vers ce lecteur virtuel et l'utiliser).
Cela permettrait aussi de stocker tout type de fichier temporaire (images, batchs, etc ...) dans ce lecteur virtuel et de ne pas polluer les disques. Et comme sur l'autre poste, je m'excuse par avance si je suis hors sujet (dans ce cas, ce serait vraiment par ignorance et en aucun cas volontaire).
Revenir en haut Aller en bas
jean_debord

jean_debord


Nombre de messages : 1250
Age : 69
Localisation : Limoges
Date d'inscription : 21/09/2008

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyMar 3 Mar 2015 - 9:00

Le compilateur Panoramic extrait une version complète de FreeBasic + une DLL Panoramic.dll + d'autres choses encore, tout cela à partir d'un seul exécutable ! Donc apparemment c'est faisable.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyMar 3 Mar 2015 - 10:15

Le jour où je vous sortirais des codes et des dll(s) aussi utiles et performants que ceux de Klaus, là vous pourrez dire "Merci Jean Claude". Very Happy Razz

A+
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyMar 3 Mar 2015 - 10:37

J'ai l'impression que c'est plus complexe qu'il n'y paraît. L'ajout d'une ressource à un exécutable Panoramic se passe bien. Mais ensuite, cet exécutable n'est manifestement plus exécutable, bien que ResHacker montre que la structure est parfaitement valide. Cela doit avoir un lien avec le codage du code source de Panoramic dans l'exécutable - il ne s'y retrouve plus... Je continue mes recherches.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Jicehel

Jicehel


Nombre de messages : 5947
Age : 51
Localisation : 77500
Date d'inscription : 18/04/2011

Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable EmptyMar 3 Mar 2015 - 11:11

Là, moi, vous m'avez perdu ^^ Je suis comme Jean-Claude à me demander si je peux concevoir des DLL, à me demander comment communiquer avec vous (sans doute privilégier le zip car c'est plus pratique). Je comprends bien l'interet de l'agglomération des ressources dans le fichier exe afin de faciliter la distribution ou de faire un install.exe qui contienne tout et qui extrait les ressources lors de l'installation (mais si j'ai bien tout compris, ça c'est déjà faisable avec KGF.DLL). Comme certaines manips ne peuvent pas avoir lieu en mémoire directement, on a parfois besoin d'écrire sur le disque et ça on ne peut pas trop faire autrement dans l'état actuel de Panoramic (On n'a pas l'quivalent d'un espace disque virtuel pour sauvegarder les fichiers comme sur le disque dur et travailler dessus, pour ça il faut que chacun installe s'il le souhaite un lecteur réseau virtuel). J'arrète donc de commenter et je laisse les pros avancer... Smile
Revenir en haut Aller en bas
Contenu sponsorisé





Utilisation des ressources d'un exécutable Empty
MessageSujet: Re: Utilisation des ressources d'un exécutable   Utilisation des ressources d'un exécutable Empty

Revenir en haut Aller en bas
 
Utilisation des ressources d'un exécutable
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [foot] Ressources
» V3.13 du 10/07/2014 - gestion des ressources
» Exécutable moins volumineux
» crééer un exécutable
» Les images avec l'exécutable

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: