![]() |
Fehler bei pchar zu string bzw. umgekehrt! (durch dll???)
Ich habe einen string(s) und einen pchar(p).
Ich wandle den pchar wie folgt um:
Delphi-Quellcode:
Dabei entsteht ein Fehler; die letzten Zeichen des strings sind dann verändert bzw. nicht mehr da! Woran kann das liegen?
s := string(p);
Vielleicht muss ich noch dazu sagen, dass der pchar aus einer dll kommt! Kann es beim umgekehrten zu Fehlern kommen; also wenn ich aus dem Ergebnis der dll einen string mache? oder kann es sein, dass die dll falsch übergibt? |
Re: Fehler bei string zu pchar bzw. umgekehrt!
Zitat:
Delphi-Quellcode:
s := p;
|
Re: Fehler bei string zu pchar bzw. umgekehrt!
Weil das dann inkompatible Typen sind!!
|
Re: Fehler bei string zu pchar bzw. umgekehrt!
Zitat:
...oder so?
Delphi-Quellcode:
var
p: PChar; s: string; begin p := 'abd123'; s := StrPas(p); end; |
Re: Fehler bei string zu pchar bzw. umgekehrt!
Zitat:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var s: String; p: PChar; begin p := 'Hello world'; s := p; ShowMessage(s); end; |
Re: Fehler bei string zu pchar bzw. umgekehrt!
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Anhang: Meine Fehlermeldung bei p := s (p->result ; s->ergebnis) |
Re: Fehler bei string zu pchar bzw. umgekehrt!
Zitat:
|
Re: Fehler bei string zu pchar bzw. umgekehrt!
Es ahndelt sich bei mir um eine function:
Delphi-Quellcode:
Nur
function rueckgabe(herkunft:pchar):pchar;
var ergebnis:string; .. begin ... if ergebnis = 'keine' then result := 'keine' else result := strpas(ergebnis);
Code:
geht auch nicht!
result := ergebnis
|
Re: Fehler bei string zu pchar bzw. umgekehrt!
Das liegt wohl daran, dass deine Funktion ein Ergebnis vom Typ PChar erwartet, du aber eines vom Typ String zurück geben willst.
|
Re: Fehler bei string zu pchar bzw. umgekehrt!
sorry, ist mein Fehler oben im qt eigentlich hatte ich ja auch: result := pchar(ergebnis);
Das geht ja auch. Nur das letzte Zeichen ist manchmal Falsch oder es kommt gar keins!!!! Vielleicht muss ich noch dazu sagen, dass der pchar aus einer dll kommt! Kann es beim umgekehrten zu Fehlern kommen; also wenn ich aus dem Ergebnis der dll einen string mache? oder kann es sein, dass die dll falsch übergibt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:03 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-2025 by Thomas Breitkreuz