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
» PANORAMIC V 1
Pluseurs DLL simultanément Emptypar jjn4 Aujourd'hui à 17:49

» select intégrés [résolu]
Pluseurs DLL simultanément Emptypar jjn4 Aujourd'hui à 17:00

» number_mouse_up
Pluseurs DLL simultanément Emptypar jjn4 Aujourd'hui à 11:59

» Aide de PANORAMIC
Pluseurs DLL simultanément Emptypar jjn4 Aujourd'hui à 11:16

» trop de fichiers en cours
Pluseurs DLL simultanément Emptypar lepetitmarocain Aujourd'hui à 10:43

» Je teste PANORAMIC V 1 beta 1
Pluseurs DLL simultanément Emptypar papydall Aujourd'hui à 4:17

» bouton dans autre form que 0
Pluseurs DLL simultanément Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Pluseurs DLL simultanément Emptypar Klaus Lun 6 Mai 2024 - 11:41

» Gestion d'un système client-serveur.
Pluseurs DLL simultanément Emptypar Klaus Lun 6 Mai 2024 - 10:23

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Pluseurs DLL simultanément Emptypar Froggy One Jeu 2 Mai 2024 - 11:16

» @Jack
Pluseurs DLL simultanément Emptypar Jack Mar 30 Avr 2024 - 20:40

» Une calculatrice en une ligne de programme
Pluseurs DLL simultanément Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Pluseurs DLL simultanément Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Pluseurs DLL simultanément Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Pluseurs DLL simultanément Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment :
Cartes Pokémon 151 : où trouver le ...
Voir le deal

 

 Pluseurs DLL simultanément

Aller en bas 
AuteurMessage
Klaus

Klaus


Nombre de messages : 12294
Age : 74
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 : 12294
Age : 74
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 : 12294
Age : 74
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: