Конференция "Corba" » Управление Delphi через COM из своей программы [Delphi, Windows]
 
  • EVB87_Ar © (15.12.07 18:58) [0]
    Требуется написать программу на Delphi, которая должна делать следующее:
    1 - запустить Delphi
    2 - создать консольный проект
    3 - вставить в текст кода исходный код, который будет введён на форме приложения
    4 - запустить компиляцию

    Как это лучше сделать? Есть ли у кого COM-команды для Delphi или ссылка на такую информацию? Чем можете помочь?
  • Плохиш © (16.12.07 00:41) [1]
    1-маразм
    2-маразм
    3-сохранить код в файле суперпуперпрога.dpr
    4-запустить dcc32.exe
  • EVB87_Ar © (16.12.07 13:17) [2]
    Таким методом и я могу сделать... А надо это всё сделать через COM.

    К третьему пункту уточнение - вставить надо в окно, где пишется исходный код
  • tesseract © (17.12.07 10:40) [3]

    > А надо это всё сделать через COM.


    А кто тебе сказал, что Delphi IDE публикует COM-интерфейсы ?
  • EVB87_Ar © (17.12.07 12:03) [4]
    :) А такой вот курсач нам дают всякие ...илы в универе :(
  • EVB87_Ar © (17.12.07 12:04) [5]
    Короче, я уже фиг знает скоко информации перерыл - ваше мнение, стоит ли дальше пытаться?
  • clickmaker © (17.12.07 13:13) [6]

    > [4] EVB87_Ar ©   (17.12.07 12:03)

    тема курсача именно Дельфи, или просто "взаимодействие с другим приложением через СОМ-интерфейсы"?
    Можно же и ворд помучать аналогично, например, макрос в нем позапускать
  • EVB87_Ar © (17.12.07 13:28) [7]
    Тема курсача - взаимодействие с 1С через COM-технологию, получение исходного кода модуля, который мы должны открыть из 1С, перевод кода в компилируемый ObjectPaskal код, и далее через COM открыть Delphi и т.д. и.т.п.
  • tesseract © (17.12.07 13:30) [8]

    > который мы должны открыть из 1С, перевод кода в компилируемый
    > ObjectPaskal код, и далее через COM открыть Delphi и т.д.
    >  и.т.п.


    Бред, читай внимательнее. Взаимдействие с 1С, а не с Delphi. В 1с-то нужный исходный код засандалить можно и без COM.
  • Сергей М. © (17.12.07 14:43) [9]

    > взаимодействие с 1С через COM-технологию, получение исходного
    > кода модуля


    Это, надо понимать, никаких проблем у тебя не вызывает ?
  • tesseract © (17.12.07 16:20) [10]

    > Это, надо понимать, никаких проблем у тебя не вызывает ?


    Не вызовет. 1с-овский Md-файл представляет собой OLE-Container с тестом. Есть тот-же ActiveMD.
  • Сергей М. © (17.12.07 16:33) [11]

    > tesseract ©   (17.12.07 16:20) [10]


    Причем здесь md ?

    Понятно что это структ.хранилище и что к нему можно обращаться с пом. OLE/COM напрямую.

    Но автор желает добраться до модуля именно через штатный одноэсный интерфейс автоматизации
  • tesseract © (17.12.07 17:38) [12]

    > Но автор желает добраться до модуля именно через штатный
    > одноэсный интерфейс автоматизации


    Штатный нет, придеться пошерстить исходники 1с++ :-) Благо они есть.
  • Сергей М. © (18.12.07 08:54) [13]

    > tesseract ©   (17.12.07 17:38) [12]


    А что, разве нельзя получить доступ к одноэсному серверу автоматизации для работы с конфигурацией в режиме администрирования ? Наверняка же соотв. интерфейс 1С-объекта имеет соотв.методы/св-ва доступа к модулям в составе конфигурации ..Я просто не в курсе ..
  • tesseract © (18.12.07 11:58) [14]

    > А что, разве нельзя получить доступ к одноэсному серверу
    > автоматизации для работы с конфигурацией в режиме администрирования
    > ?


    Только для пакетного запуска, редактирование не пологаеться.
  • umbra © (18.12.07 12:10) [15]
    если среда прораммирования 1с - неким образом русифицированная среда VBA, то все штатные интерфейсы должны быть доступны, если доступен объект
    Application

    (или как он там называется). Через свойство
    Application.VBE

    можно добраться до коллекции проектов, а там и до модулей. В делфи интерфейсы описаны в модуле VBIDExxxx.pas, где xxxx - версия оффиса.
    А чтобы управлять Делфи через СОМ, надо использовать ToolsAPI (о котором почитать в справке или поискать в инете)
  • Сергей М. © (18.12.07 12:24) [16]

    > чтобы управлять Делфи через СОМ, надо использовать ToolsAPI


    ToolsAPI предназначен для управления средой не извне, а внутри самой среды.
  • tesseract © (18.12.07 13:51) [17]

    > если среда прораммирования 1с - неким образом русифицированная
    > среда VBA, то все штатные интерфейсы должны быть доступны,
    >  если доступен объект Application (или как он там называется).
    >  


    Нет его. Ну нету. Чего вам претит открыть Compound файл с конфой и там рыться ?
  • EVB87_Ar © (19.12.07 11:34) [18]
    >> А что, разве нельзя получить доступ к одноэсному серверу
    >> автоматизации для работы с конфигурацией в режиме администрирования
    >> ?

    >Только для пакетного запуска, редактирование не пологаеться

    Хотя бы так, мне главное - считать код, а не редактировать...

    Главная проблема всё так же остаётся Delphi
  • tesseract © (19.12.07 11:38) [19]

    > Хотя бы так, мне главное - считать код, а не редактировать.
    > ..


    СМ ActiveMD + 1с++. Там так можно выпендриться. Про Delphi тебе сказали - используй компилятор командной строки, как все нормальные люди.
  • Сергей М. © (19.12.07 12:00) [20]

    > EVB87_Ar ©   (19.12.07 11:34) [18]



    > такой вот курсач нам дают всякие ...илы в универе


    Т.е. получается, что на самом то деле задание на курсовой тебе не выдали, а ты придумал его сам и продолжаешь править его по ходу выяснения доселе неведомых тебе подробностей, касаемых тобой задуманного ?)
 
Конференция "Corba" » Управление Delphi через COM из своей программы [Delphi, Windows]
Есть новые Нет новых   [134430   +4][b:0][p:0.001]