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

Вниз

?????   Найти похожие ветки 

 
Alex7   (2006-03-24 20:39) [0]

Уважаемые мастера !  Прошу прощения за свой вопрос, но
может быть Вы что-то подскажите.

Есть форма с несколькими компонентами
"DBEdit" , Навигаторм и переменной "Actt_Old".
Есть также Модуль "Р", где я собираю свои процедуры,
к которым обращаюсь из  различных  форм и модулей.

Схема работы такая:
----В форме-----
procedure TForm1.FormCreate(Sender: TObject);
begin
 UP.InForm(Form1);
end;

-----далее в модуле "P"---------
Type  TMyForm = Class(TForm)
  Public Actt_Old: TControl;
end;

implementation
Var  UkForm: TForm;

Procedure InForm(Sender: TForm);
Begin
   UkForm := Tform(Sender);     // Фиксируем текущую форму
End;

procedure Df (Sender: TObject);
begin
//    TMyForm(UkForm).Act_Old := TDBLookUpComboBox(Sender);   ......(1)  
     Form1.Act_Old := TDBLookUpComboBox(Sender);  // ......................(2)
end;
Вопрос такой: В варианте (2) все работает, а если (для обобщения)
заменить (2) на (1), то все формируется правильно, но при обращении
к навигатору (не имеющему отношения к процессу) выясняется, что он
разрушен ("access violation at address ...и т.д.)
 Понимаю, что вопрос нечеткий. Но хотя бы в каком направлении
искать ошибку. Спасибо.


 
tesseract ©   (2006-03-24 20:45) [1]


> TMyForm(UkForm)

уверен что форма  существует?


> к навигатору (не имеющему отношения к процессу)

Он имеет отношение к созданным таблица и форме - возможно что-то не досоздано. F8 рулит.


 
Alex7   (2006-03-24 20:57) [2]

Все существует и создано . Ведь в вар-те (2) все работает.


 
tesseract ©   (2006-03-24 21:00) [3]

в варианте (2) Form1
в вариате (1) typecasting из некоей (UKform). Причём в

procedure TForm1.FormCreate(Sender: TObject);
begin
UP.InForm(Form1);
end;

что-то не вижу inherited
возможно он


 
Гаврила ©   (2006-03-24 21:48) [4]

Во первых

>procedure TForm1.FormCreate(Sender: TObject);
>begin
> UP.InForm(Form1);
> end;


Сильно подозреваю, что, несмотря на то, что форма уже создана, указатель на нее
(переменная Form1) еще не инициализирован.
В любом случае заменить на
UP.InForm(Self);


> TMyForm(UkForm).Act_Old := TDBLookUpComboBox(Sender);  
>  ......(1)  

проверь
какого класса все участники этого шаманства:
if  UkForm <> nil then
ShowMessage(UkForm.ClassName);
if Sender <> nil then
ShowMessage(Sender.ClassName);


 
Alex7   (2006-03-24 22:04) [5]

>что-то не вижу inherited
Тут я что-то не понял.
Где должен быть inherited ?
А UkForm фиксируется в
процедуре InForm(Sender: TForm)
сразу после создания Form1.

> Сильно подозреваю
 Все проверю


 
Плохиш ©   (2006-03-25 01:31) [6]


> procedure TForm1.FormCreate(Sender: TObject);
> begin
>  UP.InForm(Form1);
> end;

Дальше даже читать не буду, можешь уже идти убивать себя об стену. Передаёт какой-то мусор и плачет, что не работает.



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

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

Наверх





Память: 0.46 MB
Время: 0.018 c
11-1124445785
Fuego
2005-08-19 14:03
2006.04.09
DrawText


2-1143364657
san_pancho
2006-03-26 13:17
2006.04.09
Как добавить новый компонент на форму?


15-1142927887
Логин
2006-03-21 10:58
2006.04.09
Общий доступ в ИНЕТ


15-1142073530
Nikolay M.
2006-03-11 13:38
2006.04.09
В очередной раз рискну разместить здесь вакансию


15-1141644636
X9
2006-03-06 14:30
2006.04.09
Новый проект





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