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

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

Подскажите что делаю не так?


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 ?


Наверх

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