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

Vitaly333

Member
Joined
Oct 21, 2006
Messages
9
Reaction score
0
Age
38
Location
Россия
Нужно сделать так чтобы в одном Unite(Delphi) можно было работать с двумя и более формами . Что бы можно было кидать компоненты точно так же на 2-ю как и на 1-ую форму.
 

Zevs

Member
Joined
Oct 2, 2005
Messages
220
Reaction score
77
Age
21
Невозможно. (Насколько я знаю).
 

Guard

Premium
Joined
Mar 5, 2004
Messages
58
Reaction score
2
Age
50
Location
Тула
Извини за не скромный вопрос, а нафига ? Опиши пожалуйста проблему, может ее можно решить другим способом.
 

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,105
Reaction score
902
Age
25
Возможно, горю помогут фреймы ...
 

van4ello

Member
Joined
Nov 12, 2005
Messages
69
Reaction score
14
Location
ukraine
Есть такой компонент

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

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

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

Pass : http://dumpz.ru

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

Vitaly333

Member
Joined
Oct 21, 2006
Messages
9
Reaction score
0
Age
38
Location
Россия
У меня в проекте где должно быть только 2 -модуля , как бы вам сказать два движка(конечно это сильно сказано) - один модуль это графичексий движок-
в нем содержиться работа со всей графикой + работа с интерфейсом(поэтому все фомы должны быть в одном Unite) И 2-ой модуль - математическое ядро - различные математичекие методы, вызываемые от сюда в 1-ый Unit, т.е вызываемые интерфейсом.
van4ello - идея c TSpeed хорошая , но во 1-ых хотелось бы самому написать а во вторых для того что бы установить этот компонент нужен файл пакета *dpk , которого нету в архивчике , ссылку на который ты дал.
 

Ognev

ex-Team DUMPz
Joined
Aug 20, 2018
Messages
2,105
Reaction score
902
Age
25
Если dll-ку можно назвать "модулем", то часть добра можно слить туда ...
 

Guard

Premium
Joined
Mar 5, 2004
Messages
58
Reaction score
2
Age
50
Location
Тула
Можно попробовать динамическое создание форм непосредственно из модуля. Дело геморойное, но в принципе работает :)
 

ploki

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

Но мне кажется, что лучше использовать что-то типа ToolBar2000 c SpTBXLib (http://club.telepolis.com/silverpointdev/). Намного больше интерфейсных возможностей, а твою проблему решает на 5 с плюсом. Можно и другие компоненты для "доканья".
 

Guard

Premium
Joined
Mar 5, 2004
Messages
58
Reaction score
2
Age
50
Location
Тула
Если ты делаешь серьезный проект, то моё мнение надо все писать самому, что бы потом не получить кучу гемора с поддержкой.
 

ploki

Member
Joined
May 16, 2005
Messages
237
Reaction score
180
Location
Москва
Серьёзный проект невозможно написать целиком в одиночку.

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

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

Zevs

Member
Joined
Oct 2, 2005
Messages
220
Reaction score
77
Age
21
Можно попробовать динамическое создание форм непосредственно из модуля. Дело геморойное, но в принципе работает :)

Дело.

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

Bodom

Member
Joined
Apr 17, 2004
Messages
276
Reaction score
84
Age
54
Location
Харьков Украина
Возможно только написав формы на чистом WinApi, тогда можешь в один модуль насовать сколько угодно.
В противном случае формы не будут поддерживаться средой Делфи в частности свойства и методы в инспекторе объектов.
Ps а пробелма надумана, надо разместить все в 2 файлах используй DLL.
 

Guard

Premium
Joined
Mar 5, 2004
Messages
58
Reaction score
2
Age
50
Location
Тула
Возможно только написав формы на чистом WinApi, тогда можешь в один модуль насовать сколько угодно.
В противном случае формы не будут поддерживаться средой Делфи в частности свойства и методы в инспекторе объектов.
Ps а пробелма надумана, надо разместить все в 2 файлах используй DLL.

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

Bodom

Member
Joined
Apr 17, 2004
Messages
276
Reaction score
84
Age
54
Location
Харьков Украина
Если динамически создавать форму + компоненты на ней, то нет никаких проблем так же подключиться к событиям :) и соответственно использовать свойства и методы. Я так подозреваю ты этого никогда не пробовал делать самостоятельно и уже вводишь людей в заблуждение ;)
С другой стороны реализовать формы на чистом WinAPI или зачем то прикручивать DLL это такой гемор, что действительно подумаешь - "а нафига мне все это ?".

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