Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.01 c
14-91059
J_S (A)
2002-02-13 16:19
2002.03.28
ICQ 2001a


4-91125
OGR
2002-01-23 13:24
2002.03.28
Как сделать скриншот без вывода на экран?


4-91115
Stormick
2002-01-28 23:22
2002.03.28
Мастера проблема (опять HOOK), вернее DLL


1-90905
kronos
2002-03-13 21:03
2002.03.28
Помогите чайнику!!!


3-90806
RealVOV
2002-03-01 11:21
2002.03.28
Размер таблицы в формате Paradox ограничен всего 128 MB