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
» Logiciel de planétarium.
Pluseurs DLL simultanément Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
Pluseurs DLL simultanément Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
Pluseurs DLL simultanément Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
Pluseurs DLL simultanément Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
Pluseurs DLL simultanément Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
Pluseurs DLL simultanément Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
Pluseurs DLL simultanément Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
Pluseurs DLL simultanément Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
Pluseurs DLL simultanément Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
Pluseurs DLL simultanément Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
Pluseurs DLL simultanément Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
Pluseurs DLL simultanément Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
Pluseurs DLL simultanément Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
Pluseurs DLL simultanément Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
Pluseurs DLL simultanément Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 Pluseurs DLL simultanément

Aller en bas 
AuteurMessage
Klaus

Klaus


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

Pluseurs DLL simultanément Empty
MessageSujet: Pluseurs DLL simultanément   Pluseurs DLL simultanément EmptyJeu 29 Juil 2010 - 0:21

Maintenant que je travaille de façon intensive avec les DLL, je constate qu'il est assez lourd de charger et décharger les DLL chaque fois qu'on en a besoin. En effet, je passe de ma KGF.dll à d'autres DLL que je suis en train d'écrire, puis à user32.dll et d'autres DLL du système Windows, etc.

Est-ce qu'on pourrait étendre les instructions DLL_on et DLL_off de sorte à pouvoir charger plusieurs DLL ? DLL_on pourrait accepter de charger une autre DLL même si une DLL est déjà chargée, et DLL_off pourrait recevoir un paramètre avec le nom de la DLL à décharger.

Je pense que les DLL_callx trouveront automatiquement le bon lien; si ce n'est pas le cas, DLL_on pourrait retourner un genre de handle qu'on pourrait passer à DLL_off et aux DLL_callx (en paramètre supplémentaire) pour faire le lien vers la bonne DLL...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Pluseurs DLL simultanément Empty
MessageSujet: Re: Pluseurs DLL simultanément   Pluseurs DLL simultanément EmptyJeu 29 Juil 2010 - 21:27

Je fais suite à mon post précédent.

J'ai fait une DLL qui contient deux fonctions: une pour charger dynamiquement une DLL dont je spécifie le chemin, et l'autre pour décharger une DLL chargée par ce moyen.

Je l'ai testé avec un programme Panoramic: ça marche parfaitement, je peux charger dynamiquement plusieurs DLL et les décharger à volonté.

Le problème, c'est que je ne peux appeler aucune des fonctions de ces DLL dynamiques. Seule les fonctions de la DLL chargée par DLL_on sont accessibles (et en occurence, c'est ma DLL utilisée pour charger les autres).

Est-ce que Panoramic teste si la fonction demandée est dans la DLL chargée par DLL_on ? Si oui, pourrait-on avoir un moyen de désactiver ce test, par exemple avec une directive compilateur du type
#DLL_FUNCTION_CHECK ON/OFF
ou une commande équivalente ? Car avec cet apport, j'aurais la solution au problème soulevé dans mon post précédent: je pourrais utiliser simultanément les DLL dont j'ai besoin.

Je sais bien qu'en cas d'erreur, cela peut conduire à un plantage du programme. Mais d'abord, cela peut arriver n'importe quand dans une DLL (en phase de mise au point), et ensuite, rien n'oblige un programmeur à utiliser cette directive (ou commande).

Ce message s'adresse bien sûr à Jack: j'espère que tu pourras trouver une solution à ce problème !

EDIT

La nuit a porté conseil. J'ai étudié plus avant et je me suis rendu compte que ce que je demandais, n'est pas réalisable tel quel, vu la façon à utiliser pour appeler une fonction par son nom dans une DLL chargée dynamiquement.

Il faut en effet connaître le nom de la DLL si elle n'est pas encore chargée, ou le handle de la DLL si elle a déjà été chargée. La solution consisterait peut-être en une nouvelle commande du type
DLL_target_is handle% : ' tous les DLL_xxx agiront sur cette DLL ensuite
ou
DLL_target_is nom_dll$ : ' idem, avec chargement si nécessaire
La deuxième version sera peut-être la plus réaliste.

Dans cette perspective, il serait peut-être intéressant de laisser DLL_on charger une DLL même si une autre a déjà ete chargée. DLL_on exécuterait alors un GLL_target_is implicite sur la DLL qu'elle vient de charger. Le comportement serait alors identique à ce qui se passe maintenant avec une seule DLL, seulement on pourrait basculer facilement d'une DLL à une autre.

En attendant, je développe mon propre dispatcheur utilisant cette idée.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Pluseurs DLL simultanément Empty
MessageSujet: Re: Pluseurs DLL simultanément   Pluseurs DLL simultanément EmptySam 31 Juil 2010 - 14:41

Voilà, j'ai fait mon dispatcheur pour pouvoir utiliser plusieurs DLL simultanément dans Panoramic ! Voir
https://panoramic.1fr1.net/vos-sources-vos-utilitaires-a-partager-f2/plusieurs-dll-simultanement-t1016.htm#8118
C'est inclus dans la distribution de KGF.dll sur mon site.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Pluseurs DLL simultanément Empty
MessageSujet: Re: Pluseurs DLL simultanément   Pluseurs DLL simultanément Empty

Revenir en haut Aller en bas
 
Pluseurs DLL simultanément
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Plusieurs DLL SIMULTANEMENT !
» Editer simultanément plusieurs sources
» Comparer/modifier 2 sources simultanément
» Peut-on executer 2 whiles simultanément ?

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: