Ich würde es ja so versuchen:
Delphi-Quellcode:
var
Devicename: String;
begin
SetLength(Devicename, 512);
if DelcomGetNthDevice(2, 0, PChar(Devicename)) = 0 then
// ...
end;
Aber bist Du Dir auch sicher, dass die Aufrufkonvention stimmt? Hast Du es testhalber einmal mit cdecl versucht?
[edit] Wo war der rote Kasten? [/edit]