Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при выполнении процедуры [D6]


Koala ©   (2004-09-07 15:05:00) 

Есть процедура:

procedure InfoNum;
const info = 'путевые оисты с: %s по: %s';
var   bm : TBookmark;
     n,k: string;
begin
with dm.tbl_Temp do
  begin
    bm := GetBookmark;
    DisableControls;
    first;
    n := IntToStr(FieldByName('NUM_PL').AsInteger);
    last;
    k := IntToStr(FieldByName('NUM_PL').AsInteger);
    fm_PrintTravel.lb_Info.Caption := Format(info,[n,k]);- сдесь вылетает ошибка
    GotoBookmark(bm);
    EnableControls;
  end;
end;


выдает следующую ошибку:
Project Supervisor.exe raised exception class EAccessViolation with message 'Access violation at address 00632158 in module 'Supervisor.exe'. Read of address 00000340'. Process stopped. Use Step or Run to continue.


Koala   (2004-09-07 15:50:00) [1]


>
>  [10] Семен Сорокин ©   (07.09.04 15:28)
> >путевые оисты
> что за звери? :))

очепятка на форуме (путевые листы)
в программе все правильно
:о))


Семен Сорокин   (2004-09-07 15:28:00) [2]

>путевые оисты
что за звери? :))


Koala   (2004-09-07 15:23:00) [3]


>  [8] Семен Сорокин ©   (07.09.04 15:17)


спасибо получилось...


Семен Сорокин   (2004-09-07 15:17:00) [4]


> а как??? подскажите.... плз...

Tfm_PrintTravel = class(TForm)
...
private
  procedure InfoNum;
end;

procedure Tfm_PrintTravel.InfoNum;
begin
 // здесь можешь не писать fm_PrintTravel
end;

насчет [5] - поспешил - там все-равно вариантный массив


Defunct   (2004-09-07 15:14:00) [5]

Вот и передавайте в нее указатель на форму, вместо использования глобальной переменной.

Procedure InfoNum(AForm: TForm);
...
 AForm.lb_Info.Caption := Format(info,[n,k]);
...
End;


В FormActivate вызывайте:
InfoNum( Sedner as TForm ) или InfoNum( Self )


Koala   (2004-09-07 15:13:00) [6]


> [3] Семен Сорокин ©   (07.09.04 15:11)
а методом формы ее слабо сделать?


> [4] Плохиш ©   (07.09.04 15:11)
Сделай её методом класса Tfm_PrintTravel


а как??? подскажите.... плз...


Семен Сорокин   (2004-09-07 15:12:00) [7]

const info = 'путевые оисты с: % dпо: % d';


Семен Сорокин   (2004-09-07 15:11:00) [8]

а методом формы ее слабо сделать?


Плохиш   (2004-09-07 15:11:00) [9]


> Koala ©   (07.09.04 15:09) [2]

Сделай её методом класса Tfm_PrintTravel и убери fm_PrintTravel.из текста.


Koala   (2004-09-07 15:09:00) [10]

Эта поцедура вызывается на Tfm_PrintTravel.FormActivate(Sender: TObject);


Семен Сорокин   (2004-09-07 15:07:00) [11]

наверное fm_PrintTravel не существует


Наверх

Титульная страница Поиск, карта сайта Написать письмо