![]() |
c code nach delphi
ich möchte eine c - source nach Delphi umsetzen, weiß aber bei folgendem code net so richtig wie ich das umsetze:
COPYDATASTRUCT *cpData = (COPYDATASTRUCT *)lParam; if (cpData->dwData == 1) { iconData = (NOTIFYICONDATA *) (((BYTE *)cpData->lpData) + 8 ); trayCommand = *(INT *) (((BYTE *)cpData->lpData) + 4); } mein bisheriger Lösungsansatz ist wie folgt:
Delphi-Quellcode:
kann mir jemand helfen?
var pCopyData: Pointer;
cpData: ^TCopyDataStruct; IconData: ^NOTIFYICONDATA; pByte: ^Byte; begin case Msg of WM_COPYDATA: begin //get data from adress pCopyData := Ptr(lParam); if pCopyData <> nil then begin cpData := pCopyData; if cpData^.dwData = 1 then begin pByte := cpData.lpData; pByte^ := pByte^ + 8; pCopyData:= Ptr(pByte^); IconData := pCopyData; end; end; end; else Result := DefWindowProc(Handle,Msg,wParam,lParam); end; end; |
Re: c code nach delphi
Tach...
Hab grad keine Zeit, aber schau morgen mal drüber. Bist du dir sicher, dass COPYDATASTRUCT in der WINAPI als void - Zeiger deklariert ist ? MfG |
Re: c code nach delphi
Guck einfach hier:
![]() |
Re: c code nach delphi
ganz so einfach ists leider net, da sich der Code in einer DLL befindet und die Abfrage der COPDYDataStruct ja in der Fensterprocedure der "TrayNotifyClass" stattfindet. Ist mein Ansatz um an die übergebene CopyDataStrut zu kommen denn erstmal richtig?
|
Re: c code nach delphi
Wo ist denn da der unterschied? Du schickst mit WM_COPYDATA Daten an ein Fenster oder? Von wo du schickst ist doch egal. Und au´ßerdem geht es dir ja um den Aufruf und das Vorgehen mit der Struktur.
|
Re: c code nach delphi
Zitat:
Delphi-Quellcode:
Ob es funct ist eine andere Frage.... :gruebel:
type PCOPYDATASTRUCT = ^COPYDATASTRUCT;
var cpData : PCOPYDATASTRUCT; begin cpData := PCOPYDATASTRUCT(lParam); if (cpData^.dwData = 1) then begin iconData := ^NOTIFYICONDATA ( ( ( PBYTE(cpData->lpData) ) + 8 ) ); trayCommand := ( pinteger( ( ( PBYTE(cpData^.lpData)) + 4) ))^; end; |
Re: c code nach delphi
Zitat:
|
Re: c code nach delphi
Wie man etwas empfängt, zeige ich doch auch mit meinem Code.
|
Re: c code nach delphi
Zitat:
|
Re: c code nach delphi
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz