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

Вниз

Проблема передачи указателя на объект в сообщении   Найти похожие ветки 

 
Navi ©   (2004-03-14 15:06) [0]

Уважаемые мастера! Есть проблема. Обявлен тип сообщения:

const
 WM_DATACHANGED = WM_USER + 1;

type
 TWMDataChanged = TMessage;

Есть модуль данных DM, в нем несколько объектов TDataSource. Вешаю им обработчик на
OnDataChange:

procedure TDM.DataSourceDataChange(Sender: TObject; Field: TField);
begin
 if not (Sender is TDataSource) then Exit;
 SendNotifyMessage(Application.MainForm.Handle, WM_DATACHANGED, 0, Integer(@Sender));
end;

В главной форме обрабатываю:

procedure TMainForm.WMDataChanged(var Msg: TMessage);
var
 DS: TDataSource;
begin
 DS:= TDataSource(Pointer(Msg.LParam));
 if (DS = nil) or not Assigned(DS) then Exit;
 if (DS.DataSet = nil) or not Assigned(DS.DataSet){.FieldDefs = nil} then Exit;
 if DS.DataSet.FieldDefs = nil then Exit;
 Field:= DS.DataSet.Fields.FindField("Sign"); <- ЗДЕСЬ возникает Access violation.
 Msg.Result:= -1;  
end;

Что сделано не так?


 
Тимохов ©   (2004-03-14 15:11) [1]


>  SendNotifyMessage(Application.MainForm.Handle, WM_DATACHANGED,
> 0, Integer(@Sender));

@ нафиг


 
oleg_art   (2004-03-14 15:22) [2]

SendNotifyMessage(Application.MainForm.Handle, WM_DATACHANGED, 0, Integer(Sender)

Посмотри реализацию функции FindControl в Forms.pas


 
Navi ©   (2004-03-14 15:32) [3]

To Тимохов & oleg_art: спасибо! Получилось!



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

Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.198 c
3-1078765082
Pine
2004-03-08 19:58
2004.04.04
BDE 5.2 Merge Modules для Inst Express 5.0 не хочет инсталиться!


3-1078235438
Masha Streltsova
2004-03-02 16:50
2004.04.04
Как узнать связанную через foreign key таблицу


14-1079075846
Bless
2004-03-12 10:17
2004.04.04
Песня из фильма "Логово койотов"


1-1078754983
Dest
2004-03-08 17:09
2004.04.04
Картинка в меню


14-1079075366
Ega23
2004-03-12 10:09
2004.04.04
Зимбабве поймало 64 американских шпиона





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский