Registriert seit: 16. Apr 2007
2.325 Beiträge
Turbo Delphi für Win32
|
Re: Von C nach D (elphi) - Äh wie ?
8. Okt 2007, 18:22
Ich übersetze die markierten Stellen einfach mal nach Delphi.
Code:
embedWindowState myWindowState;
var myWindowState: embedWindowState; //globale Variable
Code:
HWND (*e)(embedWindowState *v); //Funktionszeiger in C sind etwas schwierig
var e: function(v: pEmbedWindowState): hwnd;
g_mod:=this_mod
Code:
myWindowState.r.left = config_x; //Wo liegt das Problem?
Code:
*(void**)&e = (void *)SendMessage(this_mod->hwndParent,WM_WA_IPC,(LPARAM)0,IPC_GET_EMBEDIF); //köstlich!
PPointer(@@e)^:=Pointer(SendMessage(this_mod^.hwndParent, WM_WA_IPC, LPARAM(0), IPC_GET_EMBEDIF))
Das geht auch einfacher als
Pointer(e):=Pointer(SendMessage(this_mod^.hwndParent, WM_WA_IPC, LPARAM(0), IPC_GET_EMBEDIF))
Code:
parent = e(&myWindowState);
Parent:=e(@MyWindowState)
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
|