Вопрос по Delphi Преобразование переменной TCaption в Pointer
Есть процедура которая читает значение из ячейки памяти ($01AE7040) и выводит содержимое в label. Адрес памяти в чужой программе, из которого необходимо читать данные указывается в переменной ipBase:=ptr($01AE7040); Как сделать чтобы адрес памяти указывать в Edit. То есть сделать так чтобы можно было вводить в Edit другие адреса. Проблема в том что компилятор ругается и сообщает Incompatible types: 'TCaption' and 'Pointer' Как сделать чтобы заработало?
Код:
procedure TForm1.ReadMemoryRed;
var
WindowName: integer;
ProcessID: integer;
ThreadId: integer; // процесс с игрой.
HandleWindow : cardinal; //хэндл процесса
ipBase: Pointer; //адрес в памяти процесса
IpBuf: longint; //буфер чтения
numberRead: DWORD; //можно поставить null чотб не смущал
const
WindowTitle = 'Project1.exe'; // Заголовок программы из которой счиваем данные
begin
WindowName:= FindWindow(nil,WindowTitle);
If WindowName = 0 then begin // Проверяем запущена ли программа из которой мы читаем данные
LabelRedScore.Caption:=('Projekt1.exe не запущена. Данных НЕТ');
end;
ThreadId:= GetWindowThreadProcessId(WindowName,@ProcessId); // Ищем хэндл процесса
HandleWindow:=OpenProcess(PROCESS_VM_READ,False,ProcessID);
ipBase:=ptr($01AE7040); // ВОТ ТАК ВСЁ РАБОТАЕТ
//ipBase:= (Edit2.Text); // ВОТ ТАК ПИШЕТ Incompatible types: 'TCaption' and 'Pointer'
ReadProcessMemory(HandleWindow, ipBase, Addr(ipbuf), 4, numberRead);
CloseHandle(HandleWindow);
LabelRedScore.Caption:=IntToStr(IpBuf);
end;
Screen для наглядности