![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите что делаю не так?
DDF © (2002-11-26 07:02:00)var
List:TListBox;
begin
List:=TListbox.Create(form1);
List.Items:=Listbox1.Items;
Listbox2.Items:=List.Items;
end;
Почемуто не проходит при работе выдает ошибку.
Не получается создать и работать с TListBox во время работы.
Tano (2002-11-27 22:37:00) [1]
> Юрий Зотов © (27.11.02 00:32)
Спасибо за уточнение. Насчет обязательности Parent - уже получал "как максимум" => абсолютно согласен :)
Юрий Зотов (2002-11-27 00:32:00) [2]> Tano
Parent в любом случае надо назначать вручную - независимо от того, есть Owner, или его нет. Иначе контрол, как минимум, останется невидимым, а как максимум получим ошибку.
Сменить Parent тоже можно при любом Owner. Вообще говоря, эти два свойства отвечают за совершенно разные вещи и между собой никак не связаны.
Tano (2002-11-26 21:27:00) [3]Кстати, у меня блогополучно создаются компоненты и без указания AOwner (Tкомпонент.Create(nil)), только при этом приходится и компонент.Parent присваивать желаемого родителя и уничтожать компонент вручную.
IMHO, все компоненты VCL самодостаточны и я не обязан привязывать их. Иногда нужно сменить родительский Control, тогда присваиваю новое значение компонент.Parent и все продолжает работать в привязке к другому Controlу.
DDF (2002-11-26 09:05:00) [4]ВСЕМ ОГРОМНОЕ БЛАГОДАРЮ, всё получилось.
Юрий Зотов (2002-11-26 08:45:00) [5]Это имелось в виду?
for Cnt := 0 to FTP.List.Count - 1 do
begin
TZ.NewLine;
TZ.SetValue(Cnt, 1, FTP.List[Cnt])
end;
Если да, то ничего объявлять вообще не нужно.
DDF (2002-11-26 08:12:00) [6]Думаем дальше.
Суть такая компонент idFTP Возвращает список TStrings,
Теперь DLL (работающая с 1С:Предприятие) должна этот список перегнать в 1с:
procedure TFTPClient.GetList(TZ: OleVariant);
Var
Cnt: Integer;
begin
TZ.DeleteLines; //1с
TZ.NewColumn("Список", "Строка",500); //1с
//Здесь TStrings вытаскивается из IdFTP
FTP.List( -TStrings- );
//Теперь как-то пробегаем по всем строкам TString
//И отправляем в 1с
for cnt:=0 to -TStrings-.Count-1 do
begin
TZ.NewLine; //1с
TZ.SetValue(Cnt, 1,-TStrings-.Strings[Cnt]); //1с
end;
end;
Как мне объявить TStrings, что-то ваще не выходит
Юрий Зотов (2002-11-26 08:07:00) [7]> что делать
Использовать TStringList. Зачем создавать аж целый визуальный компонент, когда нужен всего лишь набор строк?
И не "присвоить", а Assign. Для TListBox.Items это без разницы, но для TStringList - только Assign.
Anatoly Podgoretsky (2002-11-26 07:53:00) [8]Ты ссылаешься на ошибку
BoxTer (2002-11-26 07:51:00) [9]1. без папы, мамы пахать не будет нихто из объектов ...
2. Ну и хрен, как говориться, с ним: а низя тебе работать с массивом строк mmmmas:array[1..100] of string; ???
если нет - будем думать дальше...
DDF (2002-11-26 07:42:00) [10]Из такой ситуаций нет выхода?
У меня нет формы, процедуры в DLL, мне позарез надо обработать TStrings (вытащить колстрок, по индексу получить строку ) вот я и выбрал ListBox, а он гад нехотит пахать без папы мамы, что делать.
BoxTer (2002-11-26 07:34:00) [11];-))))))))))))))0
а как вааще быть, если папы нет, а дитяти хоцца????
DDF (2002-11-26 07:31:00) [12](BoxTer) Спасибо.
А как к примеру если формы ваще нет а с ListBox работать надо
BoxTer (2002-11-26 07:23:00) [13]скока вама говоритя, как моно создать объект без родителя!!!
...
var
List:TListBox;
begin
List:=TListbox.Create(form1);
List.Parent:=Form1;
List.Items:=Listbox1.Items;
Listbox2.Items:=List.Items;
end;
....
sask (2002-11-26 07:22:00) [14]Почему бы просто не сделать:
Listbox2.Items := Listbox1.Items ?