Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Срочно нужна помощь!!! Как встроить в Delphi приложение компилятор Pascal? [D6, Win95/98]


Sound ©   (2002-03-18 13:06:00) 

Вообщем проблема такова: Есть Delphi-приложение с компонентом Memo в котором находится исходный код на чистом Pascal"е (даже не Object) необходимо что бы при нажатии на кнопку "Компилировать" открывалось консольное окошечко с выполняющейся программой. Другими словами нужно подключить компилятор (лучше достать бы где нибудь компонент). Объясните хотя бы как это сделать?


Sound   (2002-03-18 13:47:00) [1]

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


drpass   (2002-03-18 13:38:00) [2]

>Sound
Как-нибудь так
WinExec("dcc32.exe -b myprog.dpr", sw_hide);
WinExec(myprog.exe", sw_show);


Song   (2002-03-18 13:21:00) [3]

Я занимался этой идеей. Очень давно ещё на TP7 я написал редактор для программ на ассемблере. Он позволял делать почти всё, что позволяет делать обычная IDE TP7 включая функции поиска, замены, сохранения, открытия, печати и т.д. Ошибки выдирал именно так. Причём asm показывает галочку в той позиции в строке где была ошибка и её номер. Так я переводил курсор в эту позицию и писал сообщение об ошибке, которое asm выявлял.


Song   (2002-03-18 13:16:00) [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 сейчас рассмотрели. :))


Sound   (2002-03-18 13:10:00) [5]

Чуть подробней можно?


Song   (2002-03-18 13:10:00) [6]

или аналогичный компилятор от TP 7, вроде бы tpc.exe он называется (поздно прочитал, что текст программы на чистом Паскале). Также комадной строкой.


Song   (2002-03-18 13:08:00) [7]

запускай dcc32.exe внешним процессом


Наверх

Титульная страница Поиск, карта сайта Написать письмо