| 
| 
 | Вопрос # 4 404/ вопрос открыт / | 
 |  Доброго времени суток, уважаемые эксперты!
 создаю TListBox в своем классе в качестве локальной переменной. если еспользую Create с nil или self валится с ошибкой (см ниже). Как быть?
 
 ---------------------------
 Debugger Exception Notification
 ---------------------------
 Project DSPlayerTestProject.exe raised exception class EInvalidOperation with message 'Control '' has no parent window'. Process stopped. Use Step or Run to continue.
 ---------------------------
 OK   Help
 ---------------------------
 
|  |   Вопрос задал: AlexMPEI (статус: 1-ый класс)Вопрос отправлен: 9 июля 2010, 18:11
 Состояние вопроса: открыт, ответов: 0.
 |  
 Мини-форум вопросаВсего сообщений: 28; последнее сообщение — 11 июля 2010, 18:46; участников в обсуждении: 5. Страницы: [1] [2] [Следующая »]  
|   | min@y™ (статус: Доктор наук), 9 июля 2010, 18:25 [#1]:Стопудово, ошибка в 17-й строке. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Тов. Женька (статус: 3-ий класс), 9 июля 2010, 18:59 [#2]:А ты ему Parent - то назначил? На чем он должен у тебя находиться? |  
|   | AlexMPEI (статус: 1-ый класс), 9 июля 2010, 19:21 [#3]:Да, я уже разобрался, он требует ParentWindow. но в том-то и дело что я его использую только для хранения данных и он у меня не видим. Я его динамически создаю и убиваю. можно как-то обойти это требование ParentWindow со стороны TListBox? 
 ItemsList := TListBox.Create(nil);
 без этой строки выпадает эксепшн:
 ItemsList.ParentWindow := hndl;  (hndl = Handle)
 |  
|   | Тов. Женька (статус: 3-ий класс), 9 июля 2010, 19:31 [#4]:1.   TL := TListBox.Create(Self);
  TL.Width := 100;
  TL.Left := 8;
  TL.Top := 8;
  TL.Height := 100;
  TL.ParentWindow := Form1.Handle;2.   TL := TListBox.Create(Self);
  TL.Width := 100;
  TL.Left := 8;
  TL.Top := 8;
  TL.Height := 100;
  TL.Parent := Form1; 
 И так и так работает.
 |  
|   | min@y™ (статус: Доктор наук), 9 июля 2010, 19:34 [#5]: Цитата (AlexMPEI): но в том-то и дело что я его использую только для хранения данных и он у меня не видим. Я его динамически создаю и убиваю. А зачем ты используешь ВИЗУАЛЬНЫЙ компонент для хранения данных, если этот компонент не виден? Ж8-0
 Ну-ка давай поподробней!
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Тов. Женька (статус: 3-ий класс), 9 июля 2010, 19:35 [#6]:А зачем нужен невидимый визуальный компонент? |  
|   | Вадим К (статус: Академик), 9 июля 2010, 19:38 [#7]:Думаю, TStringList будет чудным заменителем. Галочка "подтверждения прочтения" - вселенское зло. |  
|   | min@y™ (статус: Доктор наук), 9 июля 2010, 19:42 [#8]: Цитата (Вадим К): Думаю, TStringList будет чудным заменителем.  Я тоже так думаю.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Rub (статус: Посетитель), 10 июля 2010, 13:29 [#9]:Тов. Женька, а как воткнуть строки-то? TL := TListBox.Create(Self);
 TL.Width := 100;
 TL.Left := 8;
 TL.Top := 8;
 TL.Height := 100;
 TL.Parent := Form1;
 Правда вместо listbox использую combobox, а строки воткнуь не могу. У меня проблема с этим + есть еще один вопрос: У меня в форме цикл, который создает заданное количество строк, в каждой строке 2 поля Edit и 2 поля ComboBox и вопрос: Delphi сам выставит индексы типа Combobox1, Combobox2, ....?
 |  
|   | min@y™ (статус: Доктор наук), 10 июля 2010, 13:47 [#10]:Порой встречаю людей, которые из-за незнания матчасти изобретают такие унитазы со встроенными карбюраторами, что просто пипец нах... Меня это не радует. Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Rub (статус: Посетитель), 10 июля 2010, 14:02 [#11]:Во-первых, это не ответ. Во-вторых, я новичок в Delphi, но это и так понятно. А ты минай по-любому не владеешь всеми знаниями, я не говорю про дельфи, и в этих областях, в которых ты не шаришь, ты тоже изобретаешь эти унитазы с карбом. Так что нехер на других хрень говорить, коли в своем глазу бревно не видишь |  
|   | min@y™ (статус: Доктор наук), 10 июля 2010, 14:31 [#12]: Цитата (Rub): А ты минай по-любому не владеешь всеми знаниями 100% правда! Это ж невозможно.
 
 Цитата (Rub): ты тоже изобретаешь эти унитазы с карбом. Неверно! Где доказательства?
 
 Цитата (Rub): Так что нехер на других хрень говорить, коли в своем глазу бревно не видишь  Сходил к зеркалу. Бревна не увидел. Не подскажешь, о умнейший, в каком глазу у меня бревно?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Rub (статус: Посетитель), 10 июля 2010, 15:07 [#13]:Знаешь, я писал сюда не для того, чтобы разводить всякие подобные разговоры, если ты не можешь ответить на мой вопрос, то просто не пиши |  
|   | min@y™ (статус: Доктор наук), 10 июля 2010, 15:14 [#14]: Цитата (Rub): Знаешь, я писал сюда не для того, чтобы разводить всякие подобные разговоры Даааааааааааа? А это чьи буквы?
 
 Цитата (Rub): А ты минай по-любому не владеешь всеми знаниями, я не говорю про дельфи, и в этих областях, в которых ты не шаришь, ты тоже изобретаешь эти унитазы с карбом. Так что нехер на других хрень говорить, коли в своем глазу бревно не видишь  Я хотел тебе помочь, а ты наезжаешь. И меня это не радует.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Rub (статус: Посетитель), 10 июля 2010, 15:29 [#15]:icq 8866628 лучше сюда напиши, я тебя обрадую ))) |  
|   | min@y™ (статус: Доктор наук), 10 июля 2010, 15:41 [#16]: Цитата (Rub): icq 8866628 лучше сюда напиши, я тебя обрадую Оно мне надо?
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Rub (статус: Посетитель), 10 июля 2010, 16:01 [#17]:min@y™: если ты не можешь ответить на мой вопрос, то просто не пиши |  
|   | min@y™ (статус: Доктор наук), 10 июля 2010, 17:35 [#18]: Цитата (Rub): если ты не можешь ответить на мой вопрос, то просто не пиши  Всё правильно. Я не пишу, когда не могу ответить на вопрос. В данном случае я ответить на вопрос могу, поэтому и пишу.
 Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп! |  
|   | Тов. Женька (статус: 3-ий класс), 10 июля 2010, 18:13 [#19]:Rub, на будущее пожелание тебе: хочешь спросить что-то - лучше заведи отдельную тему, возможно кому-то она тоже будет важна и так ее будет проще найти. По поводу твоего первого вопроса на счет combobox:
 
 procedure TForm1.FormCreate(Sender: TObject);
var
  Cb : TComboBox;
  i : Integer;
begin
  Cb := TComboBox.Create(Self);
  Cb.Left := 8;
  Cb.Top := 8;
  Cb.Width := 100;
  Cb.Height := 100;
  Cb.Parent := Form1;
  for i := 0 to 9 do
    Cb.Items.Add('String #' + IntToStr(i));
end;По поводу вопроса о цикле и строках.
 Совершенно не понял, каким образом ты размещаешь в строках Edit и ComboBox. Приведи лучше код, возможно,так будет проще тебя понять. Но, возможно, следующий ниже код тебе поможет:
 
 
   l := 8;
  t := 8;
  for i := 0 to 9 do
  begin
    with TComboBox.Create(self) do
    begin
      Left := l;
      Top := t;
      Width := 100;
      Height := 100;
      Name := 'Cb'+IntToStr(i);
      Parent := Form1;
      for j := 0 to 9 do
        Items.Add(Name + ' string #' + IntToStr(j));
      l := l + 108;
    end;
  end; |  
|   | Rub (статус: Посетитель), 10 июля 2010, 18:14 [#20]:min@y™: В таком случае, процитируй свой ответ на мой вопрос |  Страницы: [1] [2] [Следующая »]  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |