Oder ist es generell so falsch und es gibt aktuellere Methoden um das Zeichen (als String) zu bekommen?
Delphi hat diese Schnittstelle gekapstelt:
http://docwiki.embarcadero.com/CodeE...ttings_(Delphi)
Ansonsten noch zum
WinAPI Ansatz:
"Theoretisch" kann
StrAlloc
fehlschlagen. In diesem Falle läuft dein
StrDispose
im
finally
Block ins Leere. Und die fixe Länge von 10 wird sicherlich auch funktionieren, aber korrekter wäre es die
API einmal mit
nil
Buffer und 0 Länge aufzurufen und den Rückgabewert zu verwenden. Alternativ einen fixen Anfangsbuffer, Rückgabe prüfen,
GetLastError auf
ERROR_INSUFFICENT_BUFFER
prüfen, Buffer verdoppeln, Aufruf wiederholen, etc.