Bonjour à tous!!
Pour commencer, voici les présentations de mon environnement :
- Delphi 5
- Windows Xp
- SQL server
Je viens de développer une petite librairie me permettant de geocoder des lieux.
Pour géocoder ces lieux, j'utilise l'API géocode de google et un composant XML prenant en charge le XPATH.
J'ai donc dans ma DLL une fonction Geocode(adresse,cp,ville : PChar) : PChar, qui me permet à partir des paramètres en entrés, d'obtenir en sortie la latitude et la longitude sous la forme d'une seul et même chaine.
Travaillant à partir d'une DLL, j'ai du mettre de coté le type String et travaillé à partir du type PChar. Cependant je rencontre le problème suivant:
lors des 2 premiers appel de ma fonction géocode, la chaine de caractère retournée par celle-ci se termine par un $. Dès le 3 ème appel , la chaine de car caractère retournée est normale.
Voici a quoi ressemble le result de ma fonction geocode :
result := PChar(Lat+'|'+Lng);
Pour corriger le problème je n'ai rien trouvé de mieux que de créer une variable temporaire temp de type pchar et de lui assigner inutilement la valeur suivante :
temp := PChar(Lat+'|'+Lng);
result := PChar(Lat+'|'+Lng);
Quelqu'un a deja eu ce problème? Si oui, comment le corriger proprement?
Merci pour vos réponse.
Partager