Как зделать 2-формы в одном модуле?

Vitaly333

Турист
Регистрация
22 Окт 2006
Сообщения
9
Реакции
0
Credits
14
Нужно сделать так чтобы в одном Unite(Delphi) можно было работать с двумя и более формами . Что бы можно было кидать компоненты точно так же на 2-ю как и на 1-ую форму.
 

ZeVS

Специалист
Местный
Регистрация
2 Окт 2005
Сообщения
220
Реакции
77
Credits
10
Невозможно. (Насколько я знаю).
 

Guard

Premium
Регистрация
6 Мар 2004
Сообщения
58
Реакции
2
Credits
223
Извини за не скромный вопрос, а нафига ? Опиши пожалуйста проблему, может ее можно решить другим способом.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Возможно, горю помогут фреймы ...
 

van4ello

Местный
Регистрация
12 Ноя 2005
Сообщения
69
Реакции
14
Credits
110
Есть такой компонент

Компонент TSpeedForm для Delphi. В больших проектах у меня каждый раз получается следующее: есть 10-30 основнх форм и для каждой из них 2-5 диалоговых окон. Итого около 100 форм. Для каждой формы свой .pas и .dfm файл. Это не хорошо. Компонент TSpeedForm реализует встроенную форму - т.е. форму, для которой не нужен отдельный модуль.

Сам не пробовал;)

_http://rapidshare.com/files/636644/TSpeedForm.rar.html

Pass : http://dumpz.ws

Во-первых файл пакета Делфи dpk не нужен, для установки компонента:
Выберите пункт меню Tools -> Environtment Options. В появившемся окне выберите закладку Library и добавить путь $(DELPHI)\Source\Toolsapi\.
Идем в меню Components -> Install component и выбираем speedform.pas,жмем Install.
А во-вторых ты спросил как я тебе и подсказал,а если самому,то какие могут быть вопросы?? пиши пожалуйста,я думаю никто против не будет;))
 
Последнее редактирование модератором:

Vitaly333

Турист
Регистрация
22 Окт 2006
Сообщения
9
Реакции
0
Credits
14
У меня в проекте где должно быть только 2 -модуля , как бы вам сказать два движка(конечно это сильно сказано) - один модуль это графичексий движок-
в нем содержиться работа со всей графикой + работа с интерфейсом(поэтому все фомы должны быть в одном Unite) И 2-ой модуль - математическое ядро - различные математичекие методы, вызываемые от сюда в 1-ый Unit, т.е вызываемые интерфейсом.
van4ello - идея c TSpeed хорошая , но во 1-ых хотелось бы самому написать а во вторых для того что бы установить этот компонент нужен файл пакета *dpk , которого нету в архивчике , ссылку на который ты дал.
 

Ognev

ex-Team DUMPz
Местный
Регистрация
20 Авг 2004
Сообщения
2,079
Реакции
908
Credits
0
Если dll-ку можно назвать "модулем", то часть добра можно слить туда ...
 

Guard

Premium
Регистрация
6 Мар 2004
Сообщения
58
Реакции
2
Credits
223
Можно попробовать динамическое создание форм непосредственно из модуля. Дело геморойное, но в принципе работает :)
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
TSpeedForm проблему решает, хотя и не на 100%.
Пробовал пользоваться, хотя и не с целью избавиться от pas и dfm. Идеологически и с точки зрения проектирования это неправильно (особенно общий dfm). Но если надо, то пожалуйста.
С точки зрения "написать самому" - ничего сложного нет, все идеи очевидны. Смотришь TSpeedForm.pas и реализуешь по-своему. Динамическое создание/удаление формы тривиально.

Но мне кажется, что лучше использовать что-то типа ToolBar2000 c SpTBXLib (Для просмотра ссылки Войди или Зарегистрируйся. Намного больше интерфейсных возможностей, а твою проблему решает на 5 с плюсом. Можно и другие компоненты для "доканья".
 

Guard

Premium
Регистрация
6 Мар 2004
Сообщения
58
Реакции
2
Credits
223
Если ты делаешь серьезный проект, то моё мнение надо все писать самому, что бы потом не получить кучу гемора с поддержкой.
 

ploki

Местный
Регистрация
16 Май 2005
Сообщения
237
Реакции
180
Credits
0
Серьёзный проект невозможно написать целиком в одиночку.

К тому же операционную систему тоже придётся написать самому, а то в MSDN неточности встречаются, да и с поддержкой Borland лучше не заморачиваться - собственная версия Delphi будет намного круче :).

Никто не будет ждать несколько месяцев/лет и платить десятки тысяч денег новому разработчику, если это можно получить сейчас за сто денег, а то и бесплатно с гарантированным результатом.
Единственное - надо по возможности использовать компоненты с исходным кодом. Тогда куча гемора резко уменьшается.
 

ZeVS

Специалист
Местный
Регистрация
2 Окт 2005
Сообщения
220
Реакции
77
Credits
10
Можно попробовать динамическое создание форм непосредственно из модуля. Дело геморойное, но в принципе работает :)

Дело.

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

Bodom

Местный
Регистрация
17 Апр 2004
Сообщения
276
Реакции
85
Credits
0
Возможно только написав формы на чистом WinApi, тогда можешь в один модуль насовать сколько угодно.
В противном случае формы не будут поддерживаться средой Делфи в частности свойства и методы в инспекторе объектов.
Ps а пробелма надумана, надо разместить все в 2 файлах используй DLL.
 

Guard

Premium
Регистрация
6 Мар 2004
Сообщения
58
Реакции
2
Credits
223
Возможно только написав формы на чистом WinApi, тогда можешь в один модуль насовать сколько угодно.
В противном случае формы не будут поддерживаться средой Делфи в частности свойства и методы в инспекторе объектов.
Ps а пробелма надумана, надо разместить все в 2 файлах используй DLL.

Если динамически создавать форму + компоненты на ней, то нет никаких проблем так же подключиться к событиям :) и соответственно использовать свойства и методы. Я так подозреваю ты этого никогда не пробовал делать самостоятельно и уже вводишь людей в заблуждение ;)
С другой стороны реализовать формы на чистом WinAPI или зачем то прикручивать DLL это такой гемор, что действительно подумаешь - "а нафига мне все это ?".
 

Bodom

Местный
Регистрация
17 Апр 2004
Сообщения
276
Реакции
85
Credits
0
Если динамически создавать форму + компоненты на ней, то нет никаких проблем так же подключиться к событиям :) и соответственно использовать свойства и методы. Я так подозреваю ты этого никогда не пробовал делать самостоятельно и уже вводишь людей в заблуждение ;)
С другой стороны реализовать формы на чистом WinAPI или зачем то прикручивать DLL это такой гемор, что действительно подумаешь - "а нафига мне все это ?".

Вы немного не поняли. Задача стояла кидать компоненты на 1 и на вторую формы. Это можно делать только в режиме Designera. Речь не идет о работе типа
frm = TForm.Create () и т.д. и далее формирование компонет на форме. Это динамическое создание. Так можно делать. А вот кидать на них компоненты не получится. Так что никого я в заблуждение не ввожу :D