Naja, da wird ganz eindeutig Speiher zugewiesen. Mit New oder AllocMem solltest du das hinbekommen, der Speicherbereich, der als Pointer zurückgegeben wird, wird allerdings (C ist da wohl so typensicher) gleich nach PPrinterInfo2 (In Delphi ausgedrückt) gecastet, was bei dir nicht notwendig sein sollte. Evtl. kannst du dir auch gleich den Record deklarieren und Delphi übernimmt die Speicherverwaltung.
strtok: Kann man wohl mit der
PHP-Funktion vergleichen. Kleines Code-Bespiel:
Code:
string s = strtok("a b c"," ");
if (s == "a")
Showmessage(
Handle, "Works as expected","Success!");
(hoffe, das würde in C oder wenigstens C++ so durchkompilieren. Bin ja schließlich kein Muttersprachler
)
Ach ja, ne Übersetzung:
Delphi-Quellcode:
type
pInteger = ^Integer;
PPrinter_Info_2 = ^PRINTER_INFO_2;
function DPGetDefaultPrinter(pPrinterName: PChar; pdwBufferSize: PInteger): Boolean;
var ppi2: PPrinter_Info_2;
begin
ppi2 := PPrinter_Info_2(GetMem(dwNeeded));
//dwNeeded ist wohl ein DWord, das den benötigten Speicher angibt.
//keine Ahnung, was der GPTR da noch wollte, vielleicht braucht man da in C bzw. braucht die WinAPI da noch ein Hasndle irgendwohin.
end;
@Mystic: Jop.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1