Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.005 c
7-31014
VIB
2002-03-14 10:30
2002.06.10
CD ROM


3-30718
maxim2
2002-05-18 12:06
2002.06.10
При попытке добавит запись выдает Index is resd only


1-30910
MaximatorVeter
2002-05-30 11:13
2002.06.10
Сдвиг блока исходного текста по горизонтали.


1-30849
AL2002
2002-05-29 13:13
2002.06.10
Как скопировать файл с одной папки в другую?


4-31045
Mr.Ice
2002-04-09 07:45
2002.06.10
раскладка клавы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский