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
Création d'une variable string à partir d'une DLL Emptypar papydall Aujourd'hui à 2:21

» Gestion d'un système client-serveur.
Création d'une variable string à partir d'une DLL Emptypar Klaus Hier à 23:59

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Création d'une variable string à partir d'une DLL Emptypar Marc Hier à 12:14

» @Jack
Création d'une variable string à partir d'une DLL Emptypar Jack Mar 30 Avr 2024 - 20:40

» trop de fichiers en cours
Création d'une variable string à partir d'une DLL Emptypar papydall Lun 29 Avr 2024 - 23:39

» Une calculatrice en une ligne de programme
Création d'une variable string à partir d'une DLL Emptypar jean_debord Dim 28 Avr 2024 - 8:47

» Form(résolu)
Création d'une variable string à partir d'une DLL Emptypar leclode Sam 27 Avr 2024 - 17:59

» Bataille navale SM
Création d'une variable string à partir d'une DLL Emptypar jjn4 Ven 26 Avr 2024 - 17:39

» Les maths du crocodile
Création d'une variable string à partir d'une DLL Emptypar jean_debord Jeu 25 Avr 2024 - 10:37

» Naissance de Crocodile Basic
Création d'une variable string à partir d'une DLL Emptypar jean_debord Jeu 25 Avr 2024 - 8:45

» Dessine-moi une galaxie
Création d'une variable string à partir d'une DLL Emptypar jjn4 Lun 22 Avr 2024 - 13:47

» Erreur END_SUB
Création d'une variable string à partir d'une DLL Emptypar jjn4 Lun 22 Avr 2024 - 13:43

» Bug sur DIM_LOCAL ?
Création d'une variable string à partir d'une DLL Emptypar papydall Dim 21 Avr 2024 - 23:30

» 2D_fill_color(résolu)
Création d'une variable string à partir d'une DLL Emptypar leclode Sam 20 Avr 2024 - 8:32

» Consommation gaz électricité
Création d'une variable string à partir d'une DLL Emptypar leclode Mer 17 Avr 2024 - 11:07

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

 

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

Aller en bas 
AuteurMessage
Klaus

Klaus


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

Création d'une variable string à partir d'une DLL Empty
MessageSujet: Création d'une variable string à partir d'une DLL   Création d'une variable string à partir d'une DLL EmptyJeu 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
http://klauspanoramic.comxa.com/index.html
Klaus

Klaus


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

Création d'une variable string à partir d'une DLL Empty
MessageSujet: Re: Création d'une variable string à partir d'une DLL   Création d'une variable string à partir d'une DLL EmptyDim 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
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éer une variable Panoramic à partir d'une DLL
» Affichage d'une variable à partir d'un EDIT
» Création d'un '.exe' à partir d'un programme Panoramic.
» 2ème "dim" sur variable EFFACE la variable
» Astuce dans un string

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: