ola bom dia e o seguinte tenho um aplicativo feito no delphi XE to tentando coloca ele como 64bit pelo novo delphi XE2 so que no XE2 ele mostrar que o codigo ta com erro, não to consegindo arruma, tem muita diferença de um pro outro a ponto de um programa que funcione num no outro da erro function InjectDll(PID:DWORD; sDll:string):Boolean;
var
hLib: Pointer;
hThread: THandle;
pMod: Pointer;
hOpen: THandle;
dWritten: Cardinal;
ThreadID: Cardinal;
LibName: WideString;
begin
LibName:=WideString(sDll);
Result := FALSE;
hOpen := OpenProcess(PROCESS_ALL_ACCESS, FALSE, PID);
if hOpen <> INVALID_HANDLE_VALUE then
begin
hLib := GetProcAddress(GetModuleHandle(PChar('kernel32.dll')), PChar('LoadLibraryW'));
pMod := VirtualAllocEx(hOpen, nil, (Length(LibName)*2) + 2, MEM_COMMIT or MEM_RESERVE, PAGE_EXECUTE_READWRITE);
if WriteProcessMemory(hOpen, pMod, @LibName[1], (Length(LibName)*2), dWritten) then
Result := TRUE;
hThread := CreateRemoteThread(hOpen, nil, 0, hLib, pMod, 0, ThreadID);
WaitForSingleObject(hThread, INFINITE);
CloseHandle(hOpen);
CloseHandle(hThread);
end;
end; mostra erro nessa linha: if WriteProcessMemory(hOpen, pMod, @LibName[1], (Length(LibName)*2), dWritten) then e tambem mostra esse erro [DCC Error] Unit1.pas(109): E2033 Types of actual and formal var parameters must be identical agradeço se poderem mi ajuda