Текущий архив: 2002.03.28;
Скачать: CL | DM;
ВнизСрочно нужна помощь!!! Как встроить в Delphi приложение компилятор Pascal? Найти похожие ветки
← →
Sound (2002-03-18 13:06) [0]Вообщем проблема такова: Есть Delphi-приложение с компонентом Memo в котором находится исходный код на чистом Pascal"е (даже не Object) необходимо что бы при нажатии на кнопку "Компилировать" открывалось консольное окошечко с выполняющейся программой. Другими словами нужно подключить компилятор (лучше достать бы где нибудь компонент). Объясните хотя бы как это сделать?
← →
Song (2002-03-18 13:08) [1]запускай dcc32.exe внешним процессом
← →
Sound (2002-03-18 13:10) [2]Чуть подробней можно?
← →
Song (2002-03-18 13:10) [3]или аналогичный компилятор от TP 7, вроде бы tpc.exe он называется (поздно прочитал, что текст программы на чистом Паскале). Также комадной строкой.
← →
Song (2002-03-18 13:16) [4]Подробней?
Сохраняешь содержимое Memo в текстовый файл (например temp.pas) и передаёшь его на компилирование tpc.exe temp.pas
В случае успешного завершения в этом каталоге появится temp.exe, если нет, то выведутся ошибки.
Если нужно отследить какие были ошибки тогда процесс компиляции нужно выводить не на консоль (по умолчанию), а в файл> tpc.exe temp.pas >screen.txt
Тогда в файле screen.txt будет листинг выполнения команды tpc.exe temp.pas. Потом путём анализа этого файла, можно выковорять ошибки , выданные при компиляции (если были). Если файл temp.exe был найден, значит разбор файла screen.txt можно не выполнять, результирующий файл был успешно скомпилирован (только в этом случае перед каждой новой попыткой компиляции его нужно будет удалять во избежание неверного толкования процесса компиляции).
Вот тебе кратко поподрбней.
Мы с тобой идею IDE сейчас рассмотрели. :))
← →
Song (2002-03-18 13:21) [5]Я занимался этой идеей. Очень давно ещё на TP7 я написал редактор для программ на ассемблере. Он позволял делать почти всё, что позволяет делать обычная IDE TP7 включая функции поиска, замены, сохранения, открытия, печати и т.д. Ошибки выдирал именно так. Причём asm показывает галочку в той позиции в строке где была ошибка и её номер. Так я переводил курсор в эту позицию и писал сообщение об ошибке, которое asm выявлял.
← →
drpass (2002-03-18 13:38) [6]>Sound
Как-нибудь так
WinExec("dcc32.exe -b myprog.dpr", sw_hide);
WinExec(myprog.exe", sw_show);
← →
Sound (2002-03-18 13:47) [7]Народ большое Спасибо! Вроде понял, попробую все это дело сейчас реализовать.
Страницы: 1 вся ветка
Текущий архив: 2002.03.28;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.006 c