нужно чтобы консольное приложение в определенный момент открывало форму, а потом не закрывая ее продолжало работу. создаю проект консольного приложения, добавляю в него форму, пишу Form1.Show запускаю программу а она ничего не обьясняя вылетает помогите пожалуйста
» Дельфи: как из консольного приложения открыть форму?
Вообще-то, консольное приложение - это программа, которая не требует графического интерфейса, тип приложения ты и задаешь инструкцией компилятора:
{$APPTYPE CONSOLE}. Когда ты запускаешь программу, то Windows создает окошко для нее в текстовом режиме, к нему же прицепляет Input, Output, поэтому графический интерфейс тут никаким местом не нужен и не будет работать.
{$APPTYPE CONSOLE}. Когда ты запускаешь программу, то Windows создает окошко для нее в текстовом режиме, к нему же прицепляет Input, Output, поэтому графический интерфейс тут никаким местом не нужен и не будет работать.
krast
прошу прощения я плохо обьяснил.. мне нужно чтобы в консольном приложении допустим после выбора юзером определенного пункта меню открывалась графическая форма на канву которой выводился бы график функции. проблема в том что я не знаю как вызвать из консоли эту форму, а так то я в дельфи более менее разбираюсь
прошу прощения я плохо обьяснил.. мне нужно чтобы в консольном приложении допустим после выбора юзером определенного пункта меню открывалась графическая форма на канву которой выводился бы график функции. проблема в том что я не знаю как вызвать из консоли эту форму, а так то я в дельфи более менее разбираюсь
schiza
Делай неконсольное приложение.
Делай неконсольное приложение.
UncoNNecteD
не вижу смысла
Добавлено
у меня все заработало.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in 'Unit1.pas' {Form1};
begin
Form1 := TForm1.Create ( nil );
Form1.Show;
Form1.Caption := 'a';
readln;
end.
не вижу смысла
Добавлено
у меня все заработало.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Unit1 in 'Unit1.pas' {Form1};
begin
Form1 := TForm1.Create ( nil );
Form1.Show;
Form1.Caption := 'a';
readln;
end.
schiza
Цитата:
как сказать. во-первых, идут глюки с прорисовкой формы, во-вторых - у меня она совсем не реагирует ни на что (это и понятно, у нас как минимум траблы возникли с глобальными объектами Application - это совсем не инициализирован получается перед созданием формы, Screen), проблемы с разрушением формы - destroy окна не вызывается при закрытии программы,...
Не, я бы на товем месте прежде чем скрещивать слона с мухой подумал - 'а не фигней ли я маюсь?' Закон жизни: если мне нужны окна и прочие прелести GUI, то я НЕ использую консольное приложение.
Если же тебе нужно какие-то окна в консольном режиме - поищи библиотеки для отрисовки окон с псевдографикой прям в консольном окне.
зы. рассказал бы ты еще что за консольную прогу такую ваяешь что ей надо окно?
Цитата:
у меня все заработало.
как сказать. во-первых, идут глюки с прорисовкой формы, во-вторых - у меня она совсем не реагирует ни на что (это и понятно, у нас как минимум траблы возникли с глобальными объектами Application - это совсем не инициализирован получается перед созданием формы, Screen), проблемы с разрушением формы - destroy окна не вызывается при закрытии программы,...
Не, я бы на товем месте прежде чем скрещивать слона с мухой подумал - 'а не фигней ли я маюсь?' Закон жизни: если мне нужны окна и прочие прелести GUI, то я НЕ использую консольное приложение.
Если же тебе нужно какие-то окна в консольном режиме - поищи библиотеки для отрисовки окон с псевдографикой прям в консольном окне.
зы. рассказал бы ты еще что за консольную прогу такую ваяешь что ей надо окно?
krast
все траблы с прорисовкой и зависанием решаются посредством замены
Код:
Form1.Show;
действия с формой
все траблы с прорисовкой и зависанием решаются посредством замены
Код:
Form1.Show;
действия с формой
Цитата:
прога - обычная лаба по алгоритмированию.. в ней возможности графической оболочки только в одном месте нужны - для вывода графика, так что делать ею всю с использованием GUI - большооой геморой. графики прошлых лаб, кстати, вообще выводилась прямо на мировое окно уж лучше "муху со слоном" чем как раньше
Рисуй прямо на рабочий стол, и не будет никаких проблемы, тем более что рисование на десктопе очень старый ФАК, если не найдешь дам кусок кода.
schiza
Цитата:
да ну, геморрой, обычно переделать ее не составляет большого труда и времени. ты же не будешь переписывать логику, ты только навесишь интерфейс, зато будет слон со слонихой, мух с мухой
Цитата:
так что делать ею всю с использованием GUI - большооой геморой
да ну, геморрой, обычно переделать ее не составляет большого труда и времени. ты же не будешь переписывать логику, ты только навесишь интерфейс, зато будет слон со слонихой, мух с мухой
ShIvADeSt
хм разве десктоп и мировое окно не одно и то же? если нет то пардон, на десктоп прошлые лабы графику и выводили. проблем у меня никаких нету
krast
Цитата:
хм разве десктоп и мировое окно не одно и то же? если нет то пардон, на десктоп прошлые лабы графику и выводили. проблем у меня никаких нету
krast
Цитата:
слон со слонихой, мух с мухойконечно, это было бы чудесно, но а) у меня нету опыта в написании оконных приложений ( так они назывются? ) б) Главный Принцип программиста: "если программа работает значит она хорошая"
schiza
главный принцип: "работает - не трогай!"
кстати, интересно, использовать консоль, чтобы выводить графики на десктоп - это сильно, наверное
главный принцип: "работает - не трогай!"
кстати, интересно, использовать консоль, чтобы выводить графики на десктоп - это сильно, наверное
Sleepwalker
для вывода использовался WinAPI а не консоль но впечатления все равно незабываемые
для вывода использовался WinAPI а не консоль но впечатления все равно незабываемые
Цитата:
графики прошлых лаб, кстати, вообще выводилась прямо на мировое окно
Ну такого термина раньше не встречал . Как вариант могу предложить следующее, создаешь ДВЕ проги, первая консольная, вторая ГУИ. В первой все обсчитываешь, а потом раз и запускаешь вторую и рисуешь на ней. А вообще, как говориться, лучше день потерять, потом за час долететь Разберись как сделать нормальное ГУИ приложение и рисуй все в нем. Или юзай чистый Turbo Pascal, там все без проблем рисуется
ShIvADeSt
Цитата:
зачем этот выпендреж??? моя программа прекрасно работает
Цитата:
создаешь ДВЕ проги
зачем этот выпендреж??? моя программа прекрасно работает
schiza
Могу предложить поэксперементировать. Думаю мысль будет ясна.
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
ReadLn;
Application.Run;
end.
Могу предложить поэксперементировать. Думаю мысль будет ясна.
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
ReadLn;
Application.Run;
end.
Pinocchio
у меня почему-то не работает, пишет File not found: 'Project1.res'
у меня почему-то не работает, пишет File not found: 'Project1.res'
Цитата:
у меня почему-то не работает, пишет File not found: 'Project1.res'
убери вот эту строку и он ничего писать не будет. Все равно тебе этот ресурс не нужен будет
Цитата:
{$R *.res}
ShIvADeSt
Pinocchio
спасибо! так намного лучше
Pinocchio
спасибо! так намного лучше
Страницы: 1
Предыдущая тема: Платформа Eclipse
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.