La question est dans le titre.
Je commence à utiliser les dll dans l'espoir de pouvoir exploiter des routines PureBasic dans d'autres languages mais je ne sais pas s'il est possible de faire retourner une chaine de caractères dans une fonction DLL .
Merci à ceux qui sauront me répondre !!
Retourner une chaine de caractères par un fonction DLL ?
Retourner une chaine de caractères par un fonction DLL ?
Denis
Bonne Jounée à tous
Bonne Jounée à tous
- Progi1984
- Messages : 2659
- Inscription : mar. 14/déc./2004 13:56
- Localisation : France > Rennes
- Contact :
Il faut que tu renvoies une adresse mémiore avec PeekS dont tu tu retrouveras le contenu avec PokeS
Librairies & Applications : https://www.purebasic.fr/french/viewtop ... f=8&t=6220
Site Web : https://rootslabs.net
Site Web : https://rootslabs.net
oui - il faut absolument utiliser PeekS() dans le code appelant ta dll.
c'est une des différences entre une userlib et une dll.
l'une est au format purebasic dont 'comprenant' les chaines de caractères et l'autre au format standard windows donc pas de gestion implicites des strings. Mais avec PeekS() cà reste très facile.
Code : Tout sélectionner
;- code de la dll
ProcedureDLL.s MaFonction()
ProcedureReturn MaChaine.s
EndProcedure
;- code appelant la dll
Procedure.s MaFonctionBis()
ProcedureReturn PeekS(CallFunction(0, "MaFonction"))
EndProcedure
;-
l'une est au format purebasic dont 'comprenant' les chaines de caractères et l'autre au format standard windows donc pas de gestion implicites des strings. Mais avec PeekS() cà reste très facile.