Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Вниз

Срочно нужна помощь!!! Как встроить в 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]

Народ большое Спасибо! Вроде понял, попробую все это дело сейчас реализовать.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.043 c
1-90866           baston                2002-03-16 19:15  2002.03.28  
Что представляет из себя компонент ValueListEditor и как с ним работать


1-90930           VOROT                 2002-03-04 10:52  2002.03.28  
StringGrid


6-91015           Victoz                2002-01-16 12:12  2002.03.28  
Как узнать название сети?


3-90805           lightix               2002-03-04 15:36  2002.03.28  
Помогите с БД + Quick REPORT


14-91080          M-A-B                 2002-02-04 15:09  2002.03.28  
COM-порт