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

Вниз

Как сделать обращение к MdiChild –форме из другой MdiChild-формы?   Найти похожие ветки 

 
Крутыш   (2003-12-24 22:17) [0]

Пусть например две MdiChild-формы открыты в данный момент.
Dform2, Gform3.
В MDIChild-форме Dform2 есть такой код: Gform3.caption:=’Здрасьте’;
Щелчком на кнопке вызываешь его и выходит ошибка:
Access violation at address 000545 in module project1 ……..
1.Как обратиться к другой форме именно той которая нужна???
2.И если например у тебя несколько форм класса Gform3. Как отбратиться именно к той форме откуда ты вызвал другую форму для выбора продуктов питания. И вернуть результат именно той форме расходной накладной откуда была вызван справочник
продуктов питания (как в 1С). Даже если у тебя в одно время открыто несколько накладных???


 
Talla2k   (2003-12-24 22:58) [1]

Вот разбирайся:

(application.mainform.MDIChildren[0] as TForm2).Label1.Caption:=
floattostrf(strtofloat((application.mainform.MDIChildren[0] as TForm2).label1.caption)-
strtofloat(sum)+(strtofloat(new_sto)*strtofloat(new_kol)),fffixed,5,2);
old_sk:=floattostrf((strtofloat(sto)*strtofloat(kol))-strtofloat(sum),fffixed,5,2);


 
ЮЮ   (2003-12-25 04:14) [2]

>Как отбратиться именно к той форме откуда ты вызвал другую форму для выбора продуктов питания. И вернуть результат именно той форме расходной накладной откуда была вызван справочник

Очевидно, в конструкторе справочника надо указывать форму, его вызвавшую.


 
ЮЮ   (2003-12-25 04:17) [3]

Р.s. и не испльзовать конструкции типа Gform3.ххх. А глобальную переменную Gform3 в модуле формы вообще "убить" как источник возможных AV.


 
Крутыш   (2003-12-25 08:41) [4]

ЮЮ[2]!!! То есть как указать. Не допонял.


 
Кщд   (2003-12-25 08:59) [5]

передать конструктору указатель на форму-родитель


 
Silver Alex   (2003-12-25 09:39) [6]


> Как отбратиться именно к той форме откуда ты вызвал другую
> форму для выбора продуктов питания. И вернуть результат
> именно той форме расходной накладной откуда была вызван
> справочник


Dform2, Gform3.

можно передавать вызываемой форме Handle нужной тебе формы, а потом отсылать сообщение этой форме.
например, во всех формах заводишь переменную fHandle.Затем из Gform3 ты вызываешь Dform2 приблизительно так

with TDform2 .Create(application) do
begin
fHandle:=self.Handle;
Show;//если форма MdiChild, то Show не надо
end;

ну и после отсылаешь что тебе надо из Dform2
SendMessage(fHandle,WM_MAIN_MESSAGE,1,Integer(Edit.Text));

а в Gform3 соотвественно обрабатываешь сообщение

procedure TGform3.MAIN_MESSAGE(var M: TMessage);
begin
case m.WParam of
1: self.Caption:=string(m.LParam);
2: ...
3: ...
end;
end;
end;


 
Крутыш   (2003-12-25 23:07) [7]

Благоарю всех!!!
Спасибо!!!



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

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

Наверх





Память: 0.46 MB
Время: 0.008 c
7-37953
LAMA3OID
2003-10-29 15:06
2004.01.13
Хук на функцию


1-37741
miracle_fox
2003-12-30 11:18
2004.01.13
помогите добавить строчку в файл и listbox одновременно


1-37654
SoS
2003-12-26 19:45
2004.01.13
не ставиться RxLibrary на 7-й делфи, пишет ошибки


1-37719
ыыыыыыыыыы
2003-12-30 17:03
2004.01.13
Паузы в работе программы


3-37586
___Nikolay
2003-12-13 10:45
2004.01.13
В MSSQL





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