IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Динамическое компилирование, Динамически созданное приложение
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Кто нибудь! Пожалуйста, подскажите как сохранить приложение созданное динамически(в том числе и события), в exe формате.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


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


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


В Delphi 7 на форме программно создаются компоненты(по клику). При создании нового компонента ему програмно создается событие OnMouseDown. Мне нужно сохранить exe-шник этого приложения со всеми созданными компонентами и событиями в другой папке.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(Nikita @ 20.12.2006 16:45) *
В Delphi 7 на форме программно создаются компоненты(по клику).
Думаю надо еще поподробней объяснить чего ты хочешь сделать... Кто кликает Кто вставляет. Что заначит "программно":
1) Ты сам кликаешь мышкой на VCL компонентах Delphi IDE
2) Твоя программа сама создает VCL объекты на своей форме в процессе выполнения
3) Твоя программа соединяется с Delphi IDE (допустим через OLE) и накидывает в новый проект VCL объекты.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


У формы есть событие mousedown. По этому событию создается компонент:
var
MyClass: TComponentClass;
MyComp: TComponent;
...
...
MyComp := MyClass.Create (self);
.....

При создании компонета ему автоматически присваивается ссылка на событи onmousedown (ссылка на память,).

Мне нужно сохранить новую полученную форму со всеми, созданными во время работы, компонентами(события не обязательно, т.к. присвоить их можно еще раз при formcreate) в новом exe-шнике, или хотя бы откомпилировать этот же exe-шник(опять программно, во время исполнения), чтобы сохранить все динамически созданные компоненты.
P.S. Пожалуйста, помогите по скорей, а то у меня 22.12 последняя возможность доделать прогу.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(Nikita @ 21.12.2006 15:48) *
Мне нужно сохранить новую полученную форму со всеми, созданными во время работы, компонентами(события не обязательно, т.к. присвоить их можно еще раз при formcreate) в новом exe-шнике, или хотя бы откомпилировать этот же exe-шник(опять программно, во время исполнения), чтобы сохранить все динамически созданные компоненты.
Если ты свои компоненты создаешь динамически, то чтобы в следующий раз они автоматически создавались - запиши их список в файл, а при старте программы читай этот файл и воссоздавай их. Файл можешь записывать туда - куда тебе надо, и туда же копируй exe-нник твоей проги (ничего компилировать не надо - прога таже). А вот читать прога этот файл должно только из текущего каталога.
Как ты описываешь постановку задачи - это самому писать IDE. blink.gif Сомневаюсь что За месяц успеешь сделать...


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





Группа: Пользователи
Сообщений: 4
Пол: Мужской

Репутация: -  0  +


Цитата(hiv @ 22.12.2006 16:33) *

Если ты свои компоненты создаешь динамически, то чтобы в следующий раз они автоматически создавались - запиши их список в файл, а при старте программы читай этот файл и воссоздавай их. Файл можешь записывать туда - куда тебе надо, и туда же копируй exe-нник твоей проги (ничего компилировать не надо - прога таже). А вот читать прога этот файл должно только из текущего каталога.
Как ты описываешь постановку задачи - это самому писать IDE. blink.gif Сомневаюсь что За месяц успеешь сделать...

Спасибо, конечно, за совет. Правда я уже справился с этой проблемой так как ты советуешь! Но все равно Thank's
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Велосипед вы изобрели, дорогой Nikita.
Все формы в дельфийских приложениях создаются из dfm-ресурса, хранящегося в exe-файле.

Твоя задача была создать корректный dfm-файл, а загрузить из него форму может сама RTL (внутри неё уже есть паресер).


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 3.03.2021 6:29
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name