![]() |
Problem mit Pchar
Ich habe ein Problem, wenn ich so schreibe:
Delphi-Quellcode:
oder so:
p := pchar('2');
Delphi-Quellcode:
bleibt in diesen Fällen meine Pcar-Variable p ganz leer, aber warum, verstehe ich nicht so ganz oder muss unbedingt mein string mindestens zweistellig sein?
p := pchar('a');
|
Re: Problem mit Pchar
Hi,
Zitat:
Ciao HeZa |
Re: Problem mit Pchar
Wenn du einer PChar-Variable direkt eine Konstante zuweist, brauchst du dieses Typecasting nicht.
|
Re: Problem mit Pchar
So, hier ist bisschen Code
Delphi-Quellcode:
Wenn es einstellig ist, wird in meinem array nichts gespeichert, bekomme so ein Ergebnis:
var p :pChar; chBsp : array of PChar;
for i := 1 to 10 do begin p := pchar('2'); Setlength(chBsp, length(chBsp) +1); chBsp[High(chBsp)] := p; end; 100, text, , test. Wo Leerzeichen ist, muss eigentlich 2 stehen. Aber egal, wenn ich statt "2" eine Variable verwende, z.B.
Delphi-Quellcode:
dann funktioniert alles problemlos. Ich benutze da sowieso Variablen, nur für den Beispiel habe ich Constante genommen und hab plötzlich so was bekommen. Merkwürdig. :-D
cStr := '2'; p := pchar(cStr);
|
Re: Problem mit Pchar
Zitat:
Zitat:
Zitat:
|
Re: Problem mit Pchar
ok, shreibe noch bisschen mehr code :-D :
Delphi-Quellcode:
In meinem Array wird so gespeichert: 'text', , '100'
var p :pChar; chBsp : array of PChar;
p := pchar('text'); Setlength(chBsp, length(chBsp) +1); chBsp[High(chBsp)] := p; p := pchar('2'); Setlength(chBsp, length(chBsp) +1); chBsp[High(chBsp)] := p; p := pchar('100'); Setlength(chBsp, length(chBsp) +1); chBsp[High(chBsp)] := p; Mein Array benutze ich als Übergabeparameter für Dll-Funktion, deswegen Array of PChar, quasi so: c:=myfunc(chBsp); Und in der Dll sieht es so aus:
Delphi-Quellcode:
Und Zugriffsverletzung hatte ich auch :oops: , aber jetzt funktioniert eigentlich ganz gut und ich habe mittlerweile schon neue Aufgabe gekriegt. :P
myfunc(chBsp): integer;
... cStr := string(chBsp[0]; ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 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