FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Version instantanée V 0.9.28i18 du 27/04/2018
par Jack Aujourd'hui à 8:49

» Et encore un éditeur...
par Jean Claude Aujourd'hui à 8:41

» Un CONTAINER sans bordure
par Fredisland Hier à 23:27

» windows
par Klaus Hier à 23:21

» Exécutables et Applications
par Jack Hier à 20:07

» Une suggestion pour soulager l'auteur de PANORAMIC
par Fredisland Hier à 20:05

» Le serpent qui se mange la queue avec LE DOSSIER EN COURS
par Fredisland Hier à 20:00

» Utilisation de Make_Exe
par Jack Hier à 19:50

» Comment travaille l'auteur de Panoramic
par Jack Hier à 19:43

» API Windows
par Fredisland Hier à 19:16

» Utilisation de RunDll32
par Fredisland Hier à 17:55

» pbs dessin et ecriture sur form
par Fredisland Hier à 17:34

» Panoramic et Windows
par Fredisland Hier à 14:55

» Identifiants Globaux utilisés par Windows
par Fredisland Hier à 14:05

» Nouvelle version 0.32
par Jean Claude Hier à 14:00

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Avril 2018
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
30      
CalendrierCalendrier

Partagez | 
 

 Création d'une variable string à partir d'une DLL

Aller en bas 
AuteurMessage
Klaus

avatar

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

MessageSujet: Création d'une variable string à partir d'une DLL   Jeu 20 Avr 2017 - 13:10

J'aimerais dépasser une des limites (contraignantes) de l'interface entre Panoramic et DLL. J'aimerais pouvoir créer une variable de type chaîne de caractères, à partir d'une fonction DLL. Je sais très bien que je ne peux pas avoir accès au mécanisme de gestion de la table de symboles de Panoramic.

Suite au EDIT du 7/5/2017, je mais la suite en spoiler, car je viens de proposer une solution qui, techniquement, est sûrement plus directe à implémenter.
Spoiler:
 

EDIT 07/05/2017

Une autre méthode pourrait être l'envoi d'un message WM_USER+3001 par SendMessage, avec l'adresse d'une structure telle que décrite ci-dessus. Et on recevrait en retour la valeur de adr(NouvelleChaîne$). Ainsi, dans la DLL, on pourrait coder ceci:
Code:

Type TCreateString = Record
  BlockSize: integer;  // 1 mot de 32 bits contenant la taille de la structure en octets (soit 16)
  Length: integer;     // 1 mot de 32 bits contenant la longueur en octets de la chaîne à créer
  Name: PString;       // 1 mot de 32 bits contenant un l'adresse d'une chaîne de caractères contenant le nom de la variable à créer
end;
...
var
  RCreateString: TCreateString;
  nom: string;
  aNom: PString;
...
  Nom := "MaNouvelleChaine$"
  with RCreateString do begin
    BlockSize = 16;
    Length := Length(nom);
    Name := nom;
  end;
  aNom := SendMessage(MainFormHandle,WM_USER+3001,0,integer(@RCreateString))
  if aNom<>nil then begin
    // ici, on peut copier les données dans la zone pointée par aNom
  end;

Ainsi, en extrapolant, ce message WM_USER+3001 pourrait devenir une interface bi-directionnelle entre Panoramic et une DLL. Dans ma proposition, LParam contient l'adresse du bloc de paramètres pour la demande de création d'une variable de type string. WParam est zéro. Mais on pourrait imaginer WParam étant un "code action", ou chaque valeur déclencherait une action spécifique dans Panoramic, et dans ce cas, 0 signifierait "création d'une variable de type string".
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Klaus

avatar

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

MessageSujet: Re: Création d'une variable string à partir d'une DLL   Dim 7 Mai 2017 - 13:36

Juste un petit message pour dire que j'ai remanié ma suggestion ci-dessus.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
 
Création d'une variable string à partir d'une DLL
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Création d'un itinéraire à partir des cartes IGN papier
» [résolu]Création de fichier gpx utilisable à partir de Google Maps et gpsvisualizer
» Création Itinéraire à partir de Tracé sur version 3.3.2
» création d' une image pour tagger
» création d'un itinéraire a partir d'un tracé

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: