-
Требуется написать программу на Delphi, которая должна делать следующее:
1 - запустить Delphi
2 - создать консольный проект
3 - вставить в текст кода исходный код, который будет введён на форме приложения
4 - запустить компиляцию
Как это лучше сделать? Есть ли у кого COM-команды для Delphi или ссылка на такую информацию? Чем можете помочь?
-
1-маразм
2-маразм
3-сохранить код в файле суперпуперпрога.dpr
4-запустить dcc32.exe
-
Таким методом и я могу сделать... А надо это всё сделать через COM.
К третьему пункту уточнение - вставить надо в окно, где пишется исходный код
-
> А надо это всё сделать через COM.
А кто тебе сказал, что Delphi IDE публикует COM-интерфейсы ?
-
:) А такой вот курсач нам дают всякие ...илы в универе :(
-
Короче, я уже фиг знает скоко информации перерыл - ваше мнение, стоит ли дальше пытаться?
-
> [4] EVB87_Ar © (17.12.07 12:03)
тема курсача именно Дельфи, или просто "взаимодействие с другим приложением через СОМ-интерфейсы"?
Можно же и ворд помучать аналогично, например, макрос в нем позапускать
-
Тема курсача - взаимодействие с 1С через COM-технологию, получение исходного кода модуля, который мы должны открыть из 1С, перевод кода в компилируемый ObjectPaskal код, и далее через COM открыть Delphi и т.д. и.т.п.
-
> который мы должны открыть из 1С, перевод кода в компилируемый
> ObjectPaskal код, и далее через COM открыть Delphi и т.д.
> и.т.п.
Бред, читай внимательнее. Взаимдействие с 1С, а не с Delphi. В 1с-то нужный исходный код засандалить можно и без COM.
-
> взаимодействие с 1С через COM-технологию, получение исходного
> кода модуля
Это, надо понимать, никаких проблем у тебя не вызывает ?
-
> Это, надо понимать, никаких проблем у тебя не вызывает ?
Не вызовет. 1с-овский Md-файл представляет собой OLE-Container с тестом. Есть тот-же ActiveMD.
-
> tesseract © (17.12.07 16:20) [10]
Причем здесь md ?
Понятно что это структ.хранилище и что к нему можно обращаться с пом. OLE/COM напрямую.
Но автор желает добраться до модуля именно через штатный одноэсный интерфейс автоматизации
-
> Но автор желает добраться до модуля именно через штатный
> одноэсный интерфейс автоматизации
Штатный нет, придеться пошерстить исходники 1с++ :-) Благо они есть.
-
> tesseract © (17.12.07 17:38) [12]
А что, разве нельзя получить доступ к одноэсному серверу автоматизации для работы с конфигурацией в режиме администрирования ? Наверняка же соотв. интерфейс 1С-объекта имеет соотв.методы/св-ва доступа к модулям в составе конфигурации ..Я просто не в курсе ..
-
> А что, разве нельзя получить доступ к одноэсному серверу
> автоматизации для работы с конфигурацией в режиме администрирования
> ?
Только для пакетного запуска, редактирование не пологаеться.
-
если среда прораммирования 1с - неким образом русифицированная среда VBA, то все штатные интерфейсы должны быть доступны, если доступен объект
Application
(или как он там называется). Через свойство
Application.VBE
можно добраться до коллекции проектов, а там и до модулей. В делфи интерфейсы описаны в модуле VBIDExxxx.pas, где xxxx - версия оффиса.
А чтобы управлять Делфи через СОМ, надо использовать ToolsAPI (о котором почитать в справке или поискать в инете)
-
> чтобы управлять Делфи через СОМ, надо использовать ToolsAPI
ToolsAPI предназначен для управления средой не извне, а внутри самой среды.
-
> если среда прораммирования 1с - неким образом русифицированная
> среда VBA, то все штатные интерфейсы должны быть доступны,
> если доступен объект Application (или как он там называется).
>
Нет его. Ну нету. Чего вам претит открыть Compound файл с конфой и там рыться ?
-
>> А что, разве нельзя получить доступ к одноэсному серверу
>> автоматизации для работы с конфигурацией в режиме администрирования
>> ?
>Только для пакетного запуска, редактирование не пологаеться
Хотя бы так, мне главное - считать код, а не редактировать...
Главная проблема всё так же остаётся Delphi
-
> Хотя бы так, мне главное - считать код, а не редактировать.
> ..
СМ ActiveMD + 1с++. Там так можно выпендриться. Про Delphi тебе сказали - используй компилятор командной строки, как все нормальные люди.
-
> EVB87_Ar © (19.12.07 11:34) [18]
> такой вот курсач нам дают всякие ...илы в универе
Т.е. получается, что на самом то деле задание на курсовой тебе не выдали, а ты придумал его сам и продолжаешь править его по ходу выяснения доселе неведомых тебе подробностей, касаемых тобой задуманного ?)