Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

Преобразование типов   Найти похожие ветки 

 
Dummi   (2002-05-31 08:45) [0]

Простите за детский вопрос, но как имея указатель типа Longint не запись получить значения полей этой записи.


 
MBo ©   (2002-05-31 08:47) [1]

уточни


 
GenBr ©   (2002-05-31 10:02) [2]

вопрос действительно детский и нелепый -)


 
Esu ©   (2002-05-31 11:26) [3]

Не знаю что это за указатель типа LongInt... Но вероятно хотелось что-то вроде этого:

procedure TForm1.Button1Click(Sender: TObject);
type
rRecord = record
a : integer;
s : string;
end;
var
p : Pointer;
r : rRecord;
begin
r.a := 10;
r.s := "aaa";
p := @r;
label1.Caption := IntToStr(rRecord(p^).a);
label2.Caption := rRecord(p^).s;
end;


 
Esu ©   (2002-05-31 11:31) [4]

Ну если уж очень хочется хранить адрес в LongInt ;)
(SizeOf(LongInt) == SizeOf(Pointer))

type
rRecord = record
a : integer;
s : string;
end;
var
p : Pointer;
r : rRecord;
ghm : LongInt;
begin
r.a := 10;
r.s := "aaa";
p := @r;
ghm := LongInt(p);
label1.Caption := IntToStr(rRecord(Pointer(ghm)^).a);
label2.Caption := rRecord(Pointer(ghm)^).s;

end;


 
Dummi   (2002-05-31 11:36) [5]

Уточняю, я ставлю хук на getmessage, в проседуру хука передается параметр типа Lparam, указатель на структуру MSG. Так мне надо считать значения полей.


 
GenBr ©   (2002-05-31 12:31) [6]

Ну так значит попробуй так:
procedure YourPoc(P:^Msg);
begin
P^.SomeFieldOfTMsg
end
;



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-30906
alkmas
2002-05-30 09:59
2002.06.10
Создание BPL


4-31056
новенький в Делфи
2002-04-10 02:22
2002.06.10
Почему не работает?


1-30784
Tahion
2002-05-24 21:43
2002.06.10
Народ, подскажите УРЛ, где подробно можно прочитать про Drawgrid.


1-30777
Danger
2002-05-30 23:40
2002.06.10
Работа с Вордовскими файлами(doc)


3-30723
Voldemar
2002-05-18 16:29
2002.06.10
Пример базы склада