Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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]

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



Страницы: 1 вся ветка

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

Наверх





Память: 0.46 MB
Время: 0.007 c
4-91114
Delphi 5.01
2002-01-27 07:38
2002.03.28
Как вывести сообшения выбора папки только в котором видны и рабочий стол и все остальное в пиктогарамах ну такое сообшение кода драивер меняеш и предлагается выбрать папкуб ну вот точно такое окно нужно!


1-90851
Евгений Поляничев
2002-03-05 09:26
2002.03.28
Формат ячеек в Excel


1-90923
Брат
2002-03-13 09:47
2002.03.28
Вопрос по Паскалю: как сделать курсор невидимым?


14-91067
J_S (A)
2002-02-15 15:05
2002.03.28
ЭЛЕМЕНТ: 115. НАЗВАНИЕ: Женщина. СИМВОЛ: Fm


3-90780
Alexander Vasjuk
2002-02-25 16:47
2002.03.28
КРИЗИС ЖАНРА или Настройка ширины колонок подчиненной таблицы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский