![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток. У меня есть вопрос, к примеру есть 2 формы, вторая форма существует для редакции первой формы, но не пойму как сохранить первую форму как exe.
|
|
#2
|
||||
|
||||
|
По-видимому, как следует из вопроса, способ редактирования содержимого первой формы в рантайме ужо организован полностью, похвально
тогда вот вам такой вариант "сохранения" - на выходе из программы задаёте следующий деструктор формыКод:
procedure TForm1.FormDestroy(Sender: TObject);
var
FStr: TFileStream;
MemStr: TMemoryStream;
begin
FStr:= TFileStream.Create('Form1.txt', fmCreate);
MemStr:= TMemoryStream.Create;
MemStr.WriteComponent(form1);
MemStr.Position:= 0;
ObjectBinaryToText(MemStr, FStr);
MemStr.Free;
FStr.Free;
end;Код:
procedure TForm1.FormCreate(Sender: TObject);
var
FStr: TFileStream;
MemStr: TMemoryStream;
begin
if FileExists('Form1.txt') then
begin
Form1.DestroyComponents;
FStr:= TFileStream.Create('Form1.txt', fmOpenRead);
MemStr:= TMemoryStream.Create;
ObjectTextToBinary(FStr, MemStr);
MemStr.Position:= 0;
MemStr.ReadComponent(Form1);
MemStr.Free;
FStr.Free;
end;
end;Последний раз редактировалось Alegun, 28.08.2014 в 15:03. |
|
#3
|
|||
|
|||
|
Вы наверное не так поняли)). Вот смотрите, в проекте есть две формы. Первая форма пустая. Вторая форма дает возможность добавлять или редактировать что то на первой форме. И мне нужно готовую первую форму сохранить как *.exe. Без всяких *.txt и прочего.
|
|
#4
|
||||
|
||||
|
Экзе без проекта не бывает, у вас по-любому будет их два или тогда при запуске основного должен обрабатываться сценарий запуска: толи показать редактор иль "готовый продукт", других вариантов окромя как таскать за собой борландовский компилятор не наблюдается
|
|
#5
|
|||
|
|||
|
Тоесть, создать один проект чтобы от этого проекта создавалась основа и переходила на второй пустой проект?
|
|
#6
|
||||
|
||||
|
Просто на начальном запуске нужно проверять в каком режиме запускать сборку, это делается в файле *.dpr примерно так
Код:
...
begin
if {нужное условие запуска} then
Application.CreateForm(TForm1, Form1)
else
Application.CreateForm(TForm2, Form2);
Application.Run;
end. |