Einzelnen Beitrag anzeigen

ThE_-_BliZZarD

Registriert seit: 15. Sep 2006
Ort: Wiesbaden/Hessen
89 Beiträge
 
Delphi 2010 Professional
 
#1

PChar to String & zurück - Zeichen geht verloren

  Alt 14. Okt 2007, 16:23
Hallihallo liebe Delphigemeinde

ein kleines (aber nerviges) Problem mit PChar und Strings..

Ich habe eine Funktion in eine .dll ausgelagert, das einbinden und aufrufen und so weiter funkzioniert auch. Allerdings, da die Funktionen ja ohne die Borlandbiliotheken keine Strings als Parameter übergeben können, habe ich PChar's verwendet. Nun Übergebe ich der Funktion einen PChar in dem "2+3" steht. Das kommt auch an. In der Funktio habe ich dann eine Variable vom Typ Sring erstellt und mittels
String_var := Pchar_var; Den PChar wieder in einen String verwandelt.
Nun habe ich testweise einfach den String wieder in einen PChar konvertiert via
Delphi-Quellcode:
result := PChar(String_var);
// Result ist natürlich vom Typ PChar..
und zurückgeben lassen.. Allerdings kommt jetzt im Mutterprogramm nur noch der String "2+" zurück, d.h. das letzte Zeichen ist verlorengegangen..

Gesamt besteht meine Funkion aus:
Delphi-Quellcode:
function aufreg(meinParameter: PChar): PChar;
var
   meinString: String;
begin
   meinString := meinParameter;
   result := PChar(meinString);
end;

//Aufgerufen mit -> PChar('2+3')
//Raus kommt -> 2+
Wahrscheinlich ist das ein wirklich dämlicher Fehler.. aber er macht mich verrückt.. plz help!

MfG

BliZZarD
MSVC2008 (C/C++ with QT), Delphi RAD 2010, Flash CS5 (FDT/Adobe), Java EE (Eclipse), PHP5
Antwortsprachen: Deutsch, Englisch, Französisch, Japanisch
  Mit Zitat antworten Zitat