Hi himitsu,
irgendwei reden wir aneinder vorbei.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var a:shortstring;b,b0,b1:UTF8String;d:PAnsiChar;e:pchar;i:integer;
A0: array[0..79] of Char;
S: String;
begin
b:=UTF8Encode('select * from tbl1'+#0);
b1:=UTF8Encode(edit1.text+#0);
label2.Caption:=b;
For i:=0 to 79 do a0:=#0;
e:=StrPCopy(a0,b1);
s:=(QtTestDll_Sqlite(pchar('D:\Test.db'+#0),e,@zielfunktion1)); //pchar('select * from tbl1;'+#0)
form1.Label1.Caption:=s;
end;
Ich nutze D7. a0 ist ein ganz normales 8Bit Char array. Der Übergabeparameter in QtTestDll_Sqlite ist pchar* also ein Pointer. Hier ist also von 16 Bit Werten nie die Rede.
Ich habe mittlerweile aber eine Ahnung woher das Problem kommt. Ich gebe den String erst wieder zurück nachdem er von einer anderen Funktion genutzt wurde. vielleicht liegts daran.
Ich melde mich wieder wenn ich etwas weiter bin.
Frohe Weihnachten
Rainer Unger