Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

TListView без родителя   Найти похожие ветки 

 
BATTLE_MAX   (2007-10-30 13:38) [0]

Здравствуйте, у меня такой вопрос. В приложении без формы я хочу создать в памяти компонент TListView с возможностью записывать в него информацию (Items.Add). Но т.к. приложение не имеет формы то в качестве родителя TListView я указываю nil (ListView1:=TListView.Create(nil)). Но в этом случае при попытке записи в ListView1 происходит ошибка (мол ListView не имеет родителя). Подскажите, может быть, надо создавать компонент как-то подругому? Или без формы этот компонент так использовать нельзя?


 
Ega23 ©   (2007-10-30 13:41) [1]

А зафига тебе в ListView информацию записывать?
Ты её сразу в TImage пихай. Или даже в TPopupMenu
Да, в TPopupMenu - самое оно!


 
BATTLE_MAX   (2007-10-30 13:46) [2]

Ну а если всё же в TListView? Это возможно без формы?


 
clickmaker ©   (2007-10-30 13:48) [3]


> Это возможно без формы?

а почему такая нелюбовь к формам?


 
Ega23 ©   (2007-10-30 13:50) [4]

В угольной шахте я хочу иметь свой самолёт с возможностью установки в него новых кресел. Но для установки кресла требуется салон, а мне он не нужен, т.к. с салоном самолёт в шахту не пролезет.
Подскажите, может нужно тащить самолёт в шахту как-то по-другому? Или без салона этот самолёт использовать нельзя?


 
Ega23 ©   (2007-10-30 13:51) [5]

Чувак, нахрена тебе TListView для хранения информации? Он для отображения предназначен...


 
BATTLE_MAX   (2007-10-30 13:55) [6]

Именно так, мне нужны кресла (Items), а вот визуальная часть (самолёт) мне не нужны. Но судя по ответу я понял что это сделать невозможно. В принципе я как раз и хотел узнать, возможно это или нет.


 
clickmaker ©   (2007-10-30 13:58) [7]


> [6] BATTLE_MAX   (30.10.07 13:55)
> Именно так, мне нужны кресла

для кресел существует много других интересных материалов. TStringList, TList, TClientDataSet, TTable наконец


 
BATTLE_MAX   (2007-10-30 13:58) [8]

Ну я хочу чтобы программа без формы записывала в TListView информацию (каталоги) и сохраняла содержимое в файл. А другая программа (с формой) будет загружать эту информацию из файла и отображать на экране. Поэтому для удобства я хочу чтобы TlistView был и там и там.


 
BATTLE_MAX   (2007-10-30 13:59) [9]

Ну да, я согласен, в принципе можно использовать TStringList, TList, TImageList, TClientDataSet, TTable наконец. Но это всё вразнобой, а так всё в одном TListView


 
Ega23 ©   (2007-10-30 14:01) [10]


> Ну я хочу чтобы программа без формы записывала в TListView
> информацию (каталоги) и сохраняла содержимое в файл. А другая
> программа (с формой) будет загружать эту информацию из файла
> и отображать на экране. Поэтому для удобства я хочу чтобы
> TlistView был и там и там.


Вот это уж точно выдёргивание зуба микроскопом.


 
BATTLE_MAX   (2007-10-30 14:03) [11]

Ладно, буду делать через TStringList и TImageList


 
Ega23 ©   (2007-10-30 14:12) [12]


> Ладно, буду делать через TStringList и TImageList


Зачем????
Хотя - дело твоё...


 
BATTLE_MAX   (2007-10-30 14:22) [13]

Ну а как ещё? Я других путей пока не знаю. Чтобы сохранить картинки TImageList, чтобы текст - TStringList. Ты написал что можно использовать TPopupMenu, но я с ним ни разу не работал.


 
Ega23 ©   (2007-10-30 14:33) [14]


> Ты написал что можно использовать TPopupMenu, но я с ним
> ни разу не работал.


О, Локи, убей его!


 
clickmaker ©   (2007-10-30 14:34) [15]


> использовать TPopupMenu, но я с ним ни разу не работал

а зря. Для хранения списка каталогов - самое то


 
BATTLE_MAX   (2007-10-30 14:35) [16]

Ок, спасибо. Буду разбираться с TPopupMenu.


 
Ega23 ©   (2007-10-30 14:43) [17]

в орешник.


 
Dennis I. Komarov ©   (2007-10-30 14:49) [18]

Не TPopupMenu, а TTimer!


 
BATTLE_MAX   (2007-10-30 14:49) [19]

вряд ли...


 
Игорь Шевченко ©   (2007-10-30 14:52) [20]


> Я других путей пока не знаю


А книжку почитать ?


 
BATTLE_MAX   (2007-10-30 14:55) [21]

Почитаю, не переживайте. Может вопрос и кажется кому-то ламерским, но мне было нужно это узнать, вот и всё.


 
Сергей М. ©   (2007-10-30 14:58) [22]


> мне было нужно это узнать, вот и всё


Никто не заставляет тебя иметь родителем для TListView именно форму.
Родителем м.б. любой объект-наследник TWinControl.


 
BATTLE_MAX   (2007-10-30 15:05) [23]

Но ведь этот объект TWinControl тоже нужно создать. А при его создании я опять таки буду использовать nil? А потом TLisView:=ListView1(объект TWinControl). А это ведь ничего не изменит. Или я что-то недопонимаю?


 
Сергей М. ©   (2007-10-30 15:19) [24]


> Но ведь этот объект TWinControl тоже нужно создать


Разумеется.


> при его создании я опять таки буду использовать nil?


Какой такой "nil" ?

Что вообще мешает твоему приложению иметь форму с ListView-контролом на ней ?


 
Dennis I. Komarov ©   (2007-10-30 15:28) [25]

> Что вообще мешает твоему приложению иметь форму с ListView-
> контролом на ней ?

Заратустра не позволяет (С)


 
BATTLE_MAX   (2007-10-30 15:32) [26]

Да вопрос даже не в том что мешает, а в том возможно ли это вообще сделать не имея формы и других элементов TWinControl в моём приложении, и если да, то как. Конечно я бы мог сделать это с формой, но моё приложение без формы, а TListView я просто решил использовать для хранения данных, т.к. там данные хранятся в удобном виде и у меня есть функция для сохранения его в файл. В общем мне было бы удобней использовать TListView.


> Какой такой "nil" ?

По аналогии с ListView1:=TListView.Create(nil)
WinControl:= TWinControl.Create(nil);


 
Сергей М. ©   (2007-10-30 15:48) [27]


> TListView я просто решил использовать для хранения данных


Ну и храни себе на здоровье.

Создай объект TWinControl методом TWinControl.CreateParentedControl(Applixcation.Handle) и используй его в кач-ве Parent"а для своего ListView


 
Dennis I. Komarov ©   (2007-10-30 15:52) [28]

Я перебью, а каким образом собрался TListView в файл сохранять?


 
Reindeer Moss Eater ©   (2007-10-30 15:54) [29]

Все гораздо интереснее.
Он его собирается использовать как хранилище данных со временем жизни - текущий процесс.

Чума!


 
Reindeer Moss Eater ©   (2007-10-30 15:57) [30]

Просто не всем в детстве мама рассказывала про списки, записи и другие типы данных.


 
BATTLE_MAX   (2007-10-30 15:58) [31]

Функцией, которая сохраняет поэлементно данные из TListView в файл, и подобная функция есть для загрузки из файла в TListView. Я их нашёл в DelphiWorld.


 
Сергей М. ©   (2007-10-30 15:58) [32]


> Чума!


Не то слово)


 
BATTLE_MAX   (2007-10-30 16:03) [33]

Да что вы заладили, я понимаю что так данные не хранят, используют более подходящие вещи, но всё таки.


> Ну и храни себе на здоровье.
>
> Создай объект TWinControl методом TWinControl.CreateParentedControl(Applixcation.
> Handle) и используй его в кач-ве Parent"а для своего ListView


Я сделал так:

 WinControl:=TWinControl.CreateParentedControl(Application.Handle);
 ListView1:=TListView.Create(WinControl);

Но это ничего не изменило, таже самая ошибка. (Control не имеет родительского окна)


 
Сергей М. ©   (2007-10-30 16:05) [34]

Ты разницу между Owner и Parent вообще понимаешь ?


 
Ega23 ©   (2007-10-30 16:09) [35]

Он - листвьюкидатель, что вы к нему пристали?
Не нужны ему никакие Оунеру, Паренты, списки и прочая хренотень - это всё для ламеров.


 
MetalFan ©   (2007-10-30 16:13) [36]

злые вы.. чел только к программированию стал приобщаться...
кроме как в палитры на форму пока ничего не умеет.
а вы его так жостко... попапменю, попаптебю...
ужас! ветка то новичковская)


 
BATTLE_MAX   (2007-10-30 16:15) [37]

Ок, теперь понимаю.

 WinControl:=TWinControl.CreateParentedControl(Application.Handle);
 ListView1:=TListView.CreateParented(WinControl.Handle);

Всё работает.


 
Германн ©   (2007-10-30 16:16) [38]

И в самом деле ну что вы пристали к человеку? Он ведь даже не просит дать ему пример получения списка папок. Он его уже сам надыбал. Вот только увы в примере используется TListView :(((


 
Ega23 ©   (2007-10-30 16:17) [39]


> злые вы.. чел только к программированию стал приобщаться.


Как надо было челу задать вопрос:
Я начинающий программист; мне по ходу выполнения программы надо уметь записывать некоторую информацию (описание информации), которую по завершению работы писать в файл, а потом - восстанавливать.

Я тебя уверяю, никакого намёка на стёб бы не было.


 
BATTLE_MAX   (2007-10-30 16:18) [40]


> злые вы.. чел только к программированию стал приобщаться.
> ..
> кроме как в палитры на форму пока ничего не умеет.
> а вы его так жостко... попапменю, попаптебю...
> ужас! ветка то новичковская)


А ведь верно сказал... про злые :)


 
Ega23 ©   (2007-10-30 16:19) [41]


> А ведь верно сказал... про злые :)


Учись нормально задавать вопросы.  :)


 
Сергей М. ©   (2007-10-30 16:20) [42]


> BATTLE_MAX   (30.10.07 16:15) [37]


Что уж там мелочиться)
Избавился от формы - избавься тогда уж и от Application и прочей ботвы.
Нафига она тебе, если тебе кроме TListView ничего нужно ?)


 
BATTLE_MAX   (2007-10-30 16:21) [43]

Ну это было принципиально, к тому же кто-то верно написал, у меня пример для TListView, поэтому я уже и решил это добивать.


 
Сергей М. ©   (2007-10-30 16:22) [44]


> это было принципиально


Дурацкий это принцип, уверяю тебя)


 
BATTLE_MAX   (2007-10-30 16:22) [45]

Так что всем спасибо!


 
Ega23 ©   (2007-10-30 19:14) [46]


> к тому же кто-то верно написал, у меня пример для TListView,
>  поэтому я уже и решил это добивать.


Если у тебя есть общий алгоритм добавления кресел, разобранный на примере самолёта, то неужели для решения задачи добавления кресел в кинотеатре ты будешь втаскивать в кинотеатр самолёт???


 
BATTLE_MAX   (2007-10-30 19:59) [47]

Просто сейчас мне не важна эффективность, главное чтобы работало. Конечно, использование визуального компонента для хранения данных многих смешит, но ведь всё равно этот способ работает. Мне некогда сейчас изобретать велосипед, я просто нашёл кусок кода там, кусок ещё где-то и склеил всё это. В общем, с чем разобрался, тем и пользуюсь. А вот по части TPopupMenu действительно орех получился. Не особо вчитываясь, подумал что это нечто вроде TStrings.


 
DVM ©   (2007-10-30 21:47) [48]


> Ega23 ©   (30.10.07 19:14) [46]


> Если у тебя есть общий алгоритм добавления кресел, разобранный
> на примере самолёта, то неужели для решения задачи добавления
> кресел в кинотеатре ты будешь втаскивать в кинотеатр самолёт?
> ??

Не взлетит :)


 
DVM ©   (2007-10-30 21:49) [49]

Забавная ветка. Одна из самых смешных за последние несколько месяцев.


 
фыва   (2007-10-31 11:21) [50]


> DVM ©   (30.10.07 21:49) [49]

А я-то все думал: что вы здесь делаете?


 
фыва   (2007-10-31 11:21) [51]

Удалено модератором



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

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.59 MB
Время: 0.032 c
15-1193141244
ArLit
2007-10-23 16:07
2007.11.25
С. Горнаков - примеры к книге


6-1164519806
DRtM
2006-11-26 08:43
2007.11.25
Как определить по редиректу реальное имя файла в сети


15-1192778317
de.
2007-10-19 11:18
2007.11.25
Этапы разработки ПО


2-1194215119
SveTTT
2007-11-05 01:25
2007.11.25
Условие на пустой грид


2-1193743945
timekiller
2007-10-30 14:32
2007.11.25
XML, поиск конкретных Атрибутов