Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.01.2008, 23:11   #1
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию Размножение окон

Есть программа которая делает определенные вещи, допустим с файлом. Все работает как и задуманно. Захотелось сделать "оболочку" к этой программе, в которой выбираешь файл, жмешь "обработать", открывается форма этой самой программы и она там мутит с этим фалом, считая и отображая на экране всякие данные.
Причем что бы пока она это все дело обсчитывает, можно было бы выбрать из "оболочки" другой файл и что бы открылось второе окно и начало обработку второго файл так же отображая все в своем окне.
Как это сделать с наименьшими телодвижениями?
Я добавил в проект второй модуль с формой, в свойствах проекта сделал второй модуль главным, первую форму убрал из автосоздания. И на кнопку "запустить обработку" повесил вот это:
with TForm1.Create(Application) do
try
Timer1.Enabled:=True;
Show;
except
Free;
end
Чего еще нехватает? Глобальнвые переменные разместил в private. Этого достаточно или еще чего надо сделать что бы никаких накладок не было?
Sergey2 вне форума Ответить с цитированием
Старый 22.01.2008, 00:28   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Сообщение от Sergey2 Посмотреть сообщение
Есть программа которая делает определенные вещи, допустим с файлом. Все работает как и задуманно. Захотелось сделать "оболочку" к этой программе, в которой выбираешь файл, жмешь "обработать", открывается форма этой самой программы и она там мутит с этим фалом, считая и отображая на экране всякие данные.
Причем что бы пока она это все дело обсчитывает, можно было бы выбрать из "оболочки" другой файл и что бы открылось второе окно и начало обработку второго файл так же отображая все в своем окне.
Как это сделать с наименьшими телодвижениями?
Я добавил в проект второй модуль с формой, в свойствах проекта сделал второй модуль главным, первую форму убрал из автосоздания. И на кнопку "запустить обработку" повесил вот это:
with TForm1.Create(Application) do
try
Timer1.Enabled:=True;
Show;
except
Free;
end
Чего еще нехватает? Глобальнвые переменные разместил в private. Этого достаточно или еще чего надо сделать что бы никаких накладок не было?
Простите, вы сейчас в здравом уме находитесь?
Да вы не обижайтесь, я не собираюсь вас оскорблять...
Но то, что вы написали - тянет на отправку в Кащенко...
Хотя бы вот этот перл:
"в свойствах проекта сделал второй модуль главным, первую форму убрал из автосоздания"
И после сего извращения вы пытаетесь:
Цитата:
with TForm1.Create(Application) do
try
Timer1.Enabled:=True;
Любезный, вы в этом случае ОБЯЗАНЫ указать принадлежность Timer1!
И это - как минимум!
Давайте быть проще - скажите, что вы хотите эдакое совершить, а мы вам с удовольствием поможем...
mihali4 вне форума Ответить с цитированием
Старый 22.01.2008, 00:41   #3
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Простите, вы сейчас в здравом уме находитесь?
Да вы не обижайтесь, я не собираюсь вас оскорблять...
Но то, что вы написали - тянет на отправку в Кащенко...
Пока в метро ехал в голову пришло

Цитата:
Хотя бы вот этот перл:
"в свойствах проекта сделал второй модуль главным, первую форму убрал из автосоздания"
И после сего извращения вы пытаетесь:

Любезный, вы в этом случае ОБЯЗАНЫ указать принадлежность Timer1!
И это - как минимум!
там же with. Этого недостаточно? Или это не то?
Цитата:
Давайте быть проще - скажите, что вы хотите эдакое совершить, а мы вам с удовольствием поможем...
Я же описал. Есть программа. Жмешь в ее окне кнопку и она определенный файл обрабатывает и быковки выводит десять раз в секунду в Memo. Ручейком. Это есть. Надо следующее:
Программа-оболочка, в которой выбираешь файл, жмешь "обработать" и появляется окно вышеописанной программы в которой в Memo льются буковки. Потом из программы-оболочки выбираешь другой файл, жмешь "обработать" и появляется еще одно окно в котором бегут буковки второго файла по мемо.
Во.
Если не понятно могу исходники прислать
Sergey2 вне форума Ответить с цитированием
Старый 22.01.2008, 01:13   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
Программа-оболочка, в которой выбираешь файл, жмешь "обработать" и появляется окно вышеописанной программы в которой в Memo льются буковки. Потом из программы-оболочки выбираешь другой файл, жмешь "обработать" и появляется еще одно окно в котором бегут буковки второго файла по мемо.
Простите, но я, в первую очередь, не понял "тайного" смысла создания дочерних форм... Все элементарно решается и без этого.
Каюсь, иногда приходится создавать формочки для диалогов с ShowModal - чтобы "дурной" юзер не забыл про нее...

Последний раз редактировалось mihali4; 22.01.2008 в 01:16.
mihali4 вне форума Ответить с цитированием
Старый 22.01.2008, 01:29   #5
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Простите, но я, в первую очередь, не понял "тайного" смысла создания дочерних форм... Все элементарно решается и без этого.
Как? Смысл я обяснил. Есть определнная задача, которую надо решать для нескольких файлов одновременно и что бы каждый процесс отображался на своей форме.
Sergey2 вне форума Ответить с цитированием
Старый 22.01.2008, 01:44   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
там же with. Этого недостаточно? Или это не то?
Простите, но with для кого? Для несуществуюшего объекта??? (Вы не забыли, что "первую форму убрал из автосоздания"?)
Давайте все же ссылаться на то, что у вас есть...
mihali4 вне форума Ответить с цитированием
Старый 22.01.2008, 01:48   #7
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Простите, но with для кого? Для несуществуюшего объекта??? (Вы не забыли, что "первую форму убрал из автосоздания"?)
Давайте все же ссылаться на то, что у вас есть...
Так я его создаю и на него ссылаюсь.
Sergey2 вне форума Ответить с цитированием
Старый 22.01.2008, 01:57   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Весьма трудно понять вас, не имея перед глазами исходника.
Где вы там что создаете, как, зачем...
Увы, не обладаю даром экстрасенса...
mihali4 вне форума Ответить с цитированием
Старый 22.01.2008, 02:03   #9
Sergey2
Форумчанин
 
Регистрация: 08.01.2008
Сообщений: 233
По умолчанию

Цитата:
Сообщение от mihali4 Посмотреть сообщение
Весьма трудно понять вас, не имея перед глазами исходника.
Где вы там что создаете, как, зачем...
Увы, не обладаю даром экстрасенса...
привел же исходник:

with TForm1.Create(Application) do
try
Timer1.Enabled:=True;
Show;
except
Free;
end

всегда так делаю. Когда модальные формы вызываю пишу вот так:
with TForm2.Create(Application) do
try
ShowModal;
finally
Free;
end;
Sergey2 вне форума Ответить с цитированием
Старый 22.01.2008, 02:19   #10
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
with TForm1.Create(Application) do
Show;
Ну это - знаете ли - ни в какие ворота!
Почитайте о событиях, весьма полезно, между прочим...
mihali4 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поверх окон Лубышев Помощь студентам 1 29.01.2008 13:43
Координаты окон Лубышев Общие вопросы Delphi 6 22.01.2008 19:40
Размножение червя ZYRGiX Безопасность, Шифрование 6 07.09.2007 19:39
Пристыковка Окон OrdJONY Общие вопросы Delphi 15 19.04.2007 12:47