Текущий архив: 2007.01.14;
Скачать: CL | DM;
Вниз
DOS - приложения Найти похожие ветки
← →
Johny © (2006-12-26 10:46) [0]Подскажите как добавить в проект скампилированное DOS приложение?
← →
Сергей М. © (2006-12-26 10:49) [1]Project->Add to project..->скампилированное DOS приложение
← →
Johny © (2006-12-26 10:54) [2]не получается, пишет "One or more lines were too long and have been truncated"
← →
Сергей М. © (2006-12-26 11:20) [3]А что вообще должно было "получиться" по-твоему ?
← →
Elen © (2006-12-26 11:33) [4]
> Подскажите как добавить в проект скампилированное DOS приложение?
Для того чтоб потом ее запустить из твоей проги?
← →
Johny © (2006-12-26 11:45) [5]Да!
← →
alex_*** © (2006-12-26 11:51) [6]чтоб запустить добавлять ничего не надо
← →
Сергей М. © (2006-12-26 11:52) [7]Создаешь текстовый файл DOSAPP.RC со след.содержимым:
MyDosApp RT_RCDATA MyDosApp.exe
и это rc-файл к проекту (см. [1])
← →
alex_*** © (2006-12-26 11:59) [8]
> оздаешь текстовый файл DOSAPP.RC со след.содержимым:
>
> MyDosApp RT_RCDATA MyDosApp.exe
>
> и это rc-файл к проекту (см. [1])
>
след. вопрос будет как это теперь запустить :)
← →
Elen © (2006-12-26 12:01) [9]
> Johny © (26.12.06 11:45) [5]
>
> Да!
... Если [7] у тебя не покатит, просто положи ДОС-прогу рядом с экзешником твоей проги и запускай егоWinExec(<Тот_самый_ДОС_проект>,0)
← →
Johny © (2006-12-26 21:01) [10]
> ... Если [7] у тебя не покатит, просто положи ДОС-прогу
> рядом с экзешником твоей проги и запускай его WinExec(<Тот_самый_ДОС_проект>,
> 0)
Именно так я и сделал! Но это меня не устраивает. Меня больше интересует вариант с RC. Но пока не получается написать функцию вызова.
← →
Palladin © (2006-12-26 21:15) [11]интересно, а как ты пробовал...
← →
Johny © (2006-12-26 22:20) [12]Да здесь я уже разобрался, всё работает.
А получилось вот что:
RC.файл > имя EXEFILE D:\нужная прога\её имя.exe
компилирую brcc32.exe;
получается имя.res;
потом код в проге >
{$R имя.res}
procedure ExtractRes(exefile, стар.имя, нов.имя : String);
var
Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, стар.имя, Pchar(exefile));
Res.SavetoFile(нов.имя);
Res.Free;
end;
потом вызов > ExtractRes("exefile", "стар.имя", "нов.exe");
Но оно только капирует ехе-файл в директорию с прогой и переименновывает её. А мне надо что бы этот ехе-файл при кампиляции оставался внутри моей проги.
.
← →
Virgo_Style © (2006-12-26 22:35) [13]Johny © (26.12.06 22:20) [12]
что такое кампиляция
← →
ors_archangel © (2006-12-27 01:23) [14]
> Но оно только капирует ехе-файл в директорию с прогой и
> переименновывает её. А мне надо что бы этот ехе-файл при
> кампиляции оставался внутри моей проги.
Разве этого не происходит вследствие {$R имя.res}? Этой директивой скомпилированный rc (то бишь res) линкуется к исполняемому файлу, т.о. и DOS-программа намертво линкуется к программе при кампиляции… Или нет?
← →
Ученик чародея © (2006-12-27 02:05) [15]
> Johny © (26.12.06 22:20) [12]
>
> Да здесь я уже разобрался, всё работает.
> А получилось вот что:
>
> RC.файл > имя EXEFILE D:\нужная прога\её имя.exe
>
> компилирую brcc32.exe;
> получается имя.res;
> потом код в проге >
>
> {$R имя.res}
>
> procedure ExtractRes(exefile, стар.имя, нов.имя : String);
>
> var
> Res : TResourceStream;
> begin
> Res := TResourceStream.Create(Hinstance, стар.имя, Pchar(exefile));
>
> Res.SavetoFile(нов.имя);
> Res.Free;
> end;
> потом вызов > ExtractRes("exefile", "стар.имя", "нов.exe");
>
>
> Но оно только капирует ехе-файл в директорию с прогой и
> переименновывает её. А мне надо что бы этот ехе-файл при
> кампиляции оставался внутри моей проги.
Только тебе всего лишь системный загрузчик свой написать нужно. Для на год-полтора работы. Оно тебе надо? Хотя при успешном выполнении знаний прибавится.
← →
Elen © (2006-12-27 07:41) [16]
> Johny
Слушай, да ты не как протектор пишеш? Чего б не взять уже готовые?
← →
Johny © (2006-12-27 08:48) [17]Просто у меня есть готовый DOS файлик который я хочу поместить в свою прогу! Только и вего. Можно поместить его инсталлсшелд и он будет капироватся при установке в папку с программой как утелита, но это слишком просто. Если писать rc. то нужно что бы он присутсвовал на компе, но на чужом компе его не будет и значит нет смысла морочится. Можно переписать его исходник во внутрь программы, и это уже не будет отдельный файл.
> Слушай, да ты не как протектор пишеш? Чего б не взять уже
> готовые?
А здесь по подробней если можно, я не совсем в курсе.
← →
Elen © (2006-12-27 08:57) [18]
> А здесь по подробней если можно, я не совсем в курсе.
Протектор - нечто среднее между инсталятором и пакером. Содержит внутри себя программу(ы) и выполняет их из своей базы, загружая прямо в память. Если тебе это надо то в Инете их навалом. Да и в гугле можно литературу посмотреть для особо-рукодельничающих.
Страницы: 1 вся ветка
Текущий архив: 2007.01.14;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.193 c