Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.049 Beiträge
 
Delphi 12 Athens
 
#8

Re: Einem Array of WChar einen String zuweisen

  Alt 10. Dez 2003, 12:51
Ein Hallöle von http://www.FrankNStein.de/Smiley-Wolke2.gif,

das wurde ja schon gesagt:
Code:
[b]type[/b]
  [color=olive]xxx[/color] = [b][color=red]packed[/color] record[/b]
    [color=olive]xxx[/color]: [b]Array[/b][0..MAX_[color=olive]xxx[/color] [color=red][b]- 1[/b][/color]] [b]of[/b] [color=olive]xxx[/color];
Das mit der Header-Übersetzung lasse ich lieber Robert machen.
Dabei breche ich mir auch immer was ab. http://www.FrankNStein.de/Smiley-Krank.gif

Die Typen WChar und PWChar sind nur durch die Übersetzung und Implementierung von WINDEF.H in Delphi vorhanden, die Pascal/Delphi-Typen sind WideChar und PWideChar.

Für den Type DWord (DoubleWord) ist der fundamentale Integer-Type LongWord besser als der generische Integer-Type Cardinal. (die generischen Typen Cardinal und Integer sind an die Entwicklungsumbebung angepasst und "rein zufällig" zur Zeit 32 Bit, so wie das 32 Bit-DWord - auf einem 64 Bit System sind diesen dann auch mal schnell 64 Bit lang)

Das mit StringToWideChar sieht alles in Ordnung aus.
Code:
FillChar([color=olive]ArrayOfWideChar[/color], SizeOf([color=olive]ArrayOfWideChar[/color]), #0);
StringToWideChar([color=olive]String[/color], @[color=olive]ArrayOfWideChar[/color], Min(Length([color=olive]String[/color]) + 1, [color=olive]ArrayOfWideChar_Größe[/color]));
FillChar ist zwar nicht unbedingt erforderlich, kann aber auch nicht schaden. Und wenn die Prozeduren, an die diese übergeben werden, nicht ganz sauber arbeiten, kann es sogar hilfreich sein.

[add]
Hier liegt aber auch noch ein Fehler vor:
Code:
  XcvData(
    HANDLE hXcv,
    LPCWSTR pszDataName,
[color=gray]*[/color]  PBYTE  pInputData,
    DWORD  cbInputData,
[color=gray]*[/color]  PBYTE  pOutputData,
    DWORD  cbOutputData,
[color=gray]*[/color]  PDWORD pcbOutputNeeded,
[color=gray]*[/color]  [color=red]P[/color]DWORD pdwStatus)

  XcvData(
    hXcv,
    'L"AddPort"',
[color=gray]*[/color]  @PortData1,
    SizeOf(PortData1),
[color=gray]*[/color]  nil,
    0,
[color=gray]*[/color]  nil,
[color=gray]*[/color]  [color=red]@[/color]pdwStatus)

[color=gray]*[/color] = Zeiger

http://www.FrankNStein.de/Smiley-Kuss.gif * * http://www.FrankNStein.de/Smiley-Spinne.gif * * * http://www.FrankNStein.de/Smiley-Winken.gif
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat