![]() |
Pchar Rückgabe
:freak: Hallo ich habe ein Anfängerproblem.
Als Rückgabe aus einer Dll bekomme ich einen Wert mit Vorzeichen zurück (z.b. +0029) wie wandele ich diesen in einen Integer Wert um. Danke im Voraus. |
Hm... Wenn's nicht PChar, sondern String wäre könntest du das mit StrToInt machen (funktioniert auch mit Vorzeichen)...
Chris |
Also bei mir funktionierts auch mit PChar:
Delphi-Quellcode:
Keinerlei Meckereien von Delphi
var
p: PChar; s: string; i: integer; begin s := '+2345'; p := PChar(s); i := StrToInt(p); Caption := IntToStr(i) //In der Caption stehts dann (bei +) ohne Vorzeichen end; Gruß, Sebastian |
Ja gut.
Chris |
Hallo Chris
Strtoint habe ich versucht, aber der compiler bringt mir eine Fehlermeldung (Im ProjektProjekt 1.exe ist eine Exception der Klasse EConvertError aufgetreten.Meldung "4|' ist kein gültiger Integer Wert'.) Dieser Wert wird mir aber vorher bei der Zeile label4.caption := (analog1) richtig mit +0029 angezeigt.Ich versuche diesen wert Im Diagramm (Chart) anzuzeigen. |
Code:
Klappt bei mir auch, warum sollet es auch nicht gehen, aber:
var
p: PChar; i: integer; begin p := PChar(edit1.Text); i := StrToInt(p); end; "4|" ist nunmal kein Zahlenwert -> deine Funktion liefert dir einen string und keinen Zahlenwert. Poste mal bitte den gesamten relevanten Code. |
Hallo berbog, und wenn du mit string() typecastest?
Die Hilfe sagt aber das: Zitat:
|
das mein ich ja auch, ich denke nciht,dass das was mit pChar zu tun hat
|
Ja, das vermute ich auch.
Zitat:
Gruß, Sebastian |
ja, oder bist du sicher, dass deine DLL nicht zwischenzeitlich den PChar modifiziert? Bei Übergabe von PChars erhaellst du naemlich keine Kopie der Daten sondern das Original.
Oder vielleicht hast du auch nicht Thread-safe programmiert. naja, möglich wärs ja :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz