![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Control '' has no parent window [D7, WinXP]
312kbps © (2007-12-24 17:48:00)procedure TForm1.FullListFile(ListF: TStrings;dir_base: string;mask: string);
var SR: TSearchRec;
begin
if FindFirst(dir_base + mask, faAnyFile, SR) = 0 then
begin
repeat
if (SR.Attr <> faDirectory) then
begin
ListF.Add(SR.Name);
end;
until FindNext(SR) <> 0;
FindClose(SR);
end;
end;
procedure TForm1.BackupDBF(dir_base: string);
begin
dir_base:=RightStr(dir_base,length(dir_base)-5);
FullListFile(ListFile.Items,dir_base,'*.dbf');
ListBox.Items:=ListFile.Items;
end;
процедура BackupDBF запускается по событию формы OnActive
подскажи мне , почему программа ругается на SR и выдает ошибку 'Control '' has no parent window'
!? (
ЮЮ (2007-12-25 03:21:00) [1]> Если мне мой склероз не изменяет, то где-то летом было обсуждение
> сего исключения кучей мастеров.
Добавление элементов в листбох вызывает его перерисовку, а он ещё не "размещен" на форме.
Решений проблемы великое множество:
1) в TForm1.FullListFile формировать невизуальный TStringList и Assign-нуть его в OnShow
2) перенести из OnActive в OnShow
3) заполнение ListF.Items взять "в скобки" BeginUpdates; ... ;EndUpdate, дабы избежать попыток перерисовки.
Германн (2007-12-25 02:36:00) [2]P.S.
Если мне мой склероз не изменяет, то где-то летом было обсуждение сего исключения кучей мастеров.
Германн (2007-12-25 01:00:00) [3]
> подскажи мне , почему программа ругается на SR и выдает
> ошибку 'Control '' has no parent window'
Программа может всяко ругаться на SR, но уж не так "Control '' has no parent window". Ошибка в другом месте.
Правильный_Вася (2007-12-24 18:22:00) [4]
> ListBox.Items:=ListFile.Items;
это чево и зачем оно?