Moin MacBones,
deklariere doch einmal die Variable Server als WideString und übergebe dass dann so @Server[1].
Das geht natürlich nur, wenn die Variable nicht leer ist. Den Sonderfall müsstest Du dann getrennt betrachten, oder mit PWideChar arbeiten.
Im letzteren Falle könntest Du das so machen:
Delphi-Quellcode:
var
pwcServer : PWideChar;
sServer : string; // Soll hier nur als Beispiel für einen "normalen" string stehen
dwLen : DWORD;
begin
sServer := 'MacBones';
dwLen := (length(sServer)+1) shl 2; // +1 für das abschliessende #00#00, mal 2 für 2 Byte je Zeichen
GetMem(pwcServer,dwLen); // Platz reservieren
try
StringToWideChar(sServer,pwcServer,dwLen);
if NetShareEnum(pwcServer,.....) <> NERR_SUCCESS then exit;
try
finally
NetApiBufferFree(....);
end;
finally
FreeMem(pwcServer,dwLen); // Platz wieder freigeben
end;
Das dürfte auch die flexiblere Variante sein, da Du auch einen Leerstring erfolgreich als eigenen Rechner einsetzen kannst.