Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.08.2014, 10:13
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
Печаль Сохранить форму как exe

Доброго времени суток. У меня есть вопрос, к примеру есть 2 формы, вторая форма существует для редакции первой формы, но не пойму как сохранить первую форму как exe.
Ответить с цитированием
  #2  
Старый 28.08.2014, 14:56
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

По-видимому, как следует из вопроса, способ редактирования содержимого первой формы в рантайме ужо организован полностью, похвально тогда вот вам такой вариант "сохранения" - на выходе из программы задаёте следующий деструктор формы
Код:
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  
Старый 28.08.2014, 15:10
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Вы наверное не так поняли)). Вот смотрите, в проекте есть две формы. Первая форма пустая. Вторая форма дает возможность добавлять или редактировать что то на первой форме. И мне нужно готовую первую форму сохранить как *.exe. Без всяких *.txt и прочего.
Ответить с цитированием
  #4  
Старый 28.08.2014, 15:21
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Экзе без проекта не бывает, у вас по-любому будет их два или тогда при запуске основного должен обрабатываться сценарий запуска: толи показать редактор иль "готовый продукт", других вариантов окромя как таскать за собой борландовский компилятор не наблюдается
Ответить с цитированием
  #5  
Старый 28.08.2014, 15:34
BlackMonsta BlackMonsta вне форума
Новичок
 
Регистрация: 22.12.2013
Сообщения: 67
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Тоесть, создать один проект чтобы от этого проекта создавалась основа и переходила на второй пустой проект?
Ответить с цитированием
  #6  
Старый 28.08.2014, 15:46
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Просто на начальном запуске нужно проверять в каком режиме запускать сборку, это делается в файле *.dpr примерно так
Код:
...
begin
if {нужное условие запуска} then
   Application.CreateForm(TForm1, Form1)
else
   Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:31.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025