Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
31. Mai 2010
:mrgreen:
Also bei mir compiliert das ohne Probleme. Habe D2009.
Versuch vllt. mal nur:
PChar(String(@UsedComm))
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
31. Mai 2010
Hattest du es mal mit:
PChar(String(AnsiString(@UsedComm)))
versucht?
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
28. Mai 2010
Ich weiß ja nicht genau was die Funktion haben will und was in dem Array drin steht.
Aber PWideChar(UsedComm) ist quasi der String ab dem 5. Zeichen.
D.h.
var: S: Array of AnsiChar;
begin
S := 'Hallo Welt'; // Mal vereinfacht geschrieben. Nur zur Verdeutlichung
PWideChar(@S) ==> 'o Welt'
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
28. Mai 2010
Hallo,
Also du müsstest (wahrscheinlich) den Pointer auf das 5 Element (Index 4) auf einen PWideChar casten:
Result:=GetDefaultCommConfig(PWideChar(@UsedComm),CommConfig,i) or GetDefaultCommConfig(UsedComm,CommConfig,i);
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
28. Mai 2010
Siehe mein Edit obendrüber.
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
28. Mai 2010
Das Problem könnte evtl sein, dass UsedComm ein Array of AnsiChar ist. der Cast auf PWideChar wird dann für chinesischen String-Müll sorgen fürchte ich. Eine Idee die ich hätte (aber keine Ahnung obs klappt):
PChar(String(AnsiString(@UsedComm)))
Allerdings könnte die Funktion auch einen Ansistring wollen und hat aus "früheren" Zeiten noch "PChar" als Parametertyp definiert. Für diesen Fall...
Forum: Sonstige Fragen zu Delphi
Delphi
by Neutral General,
28. Mai 2010
Hallo,
Du musst anstatt
chr($30+Value);
folgendes schreiben:
AnsiChar($30+Value);