| sfsf | 
| Отправлено: 26.04.2006, 13:24 | 
 
 
 | 
  
Ученик-кочегар 
 
Группа: Участник 
Сообщений: 2 
  
  
 | 
 Function GetAcadApplication(Visible: Boolean): IAcadApplication; 
var 
v : OleVariant; 
begin 
Try 
// пытаемся присоединиться к уже запущенной копии AutoCad 
v := GetActiveOleObject('AutoCAD.Application'); 
Except 
// если не получилось присоединиться, то запускаем новую копию AutoCad 
v:= CreateOleObject('AutoCAD.Application'); 
end; 
// приводим переменную типа OleVariant к типу IAcadApplication 
Result := IDispatch(v) as IAcadApplication; 
// далее проверяем, надо ли делать приложение AutoCad видимым 
if Visible then Result.Visible := True; 
end;  | 
  | 
| Aptem | 
| Отправлено: 27.04.2006, 04:44 | 
 
 
 | 
 
  
Мастер участка 
 
Группа: Участник 
Сообщений: 349 
  
  
 | 
 Я не знаю как с AutoCAD, но с Excel работает: 
| CODE  |   
#include <OleServer.hpp> 
#include <OleCtrls.hpp>
  
Variant App, Sheet; 
App = CreateOleObject ( "Excel.Application" ); 
App.OlePropertyGet ( "WorkBooks" ).OleProcedure ( "Open", Edit1 -> Text.c_str () ); 
Sheet = App.OlePropertyGet ( "WorkSheets", 1 ); |   
 | 
  | 
| sfsf | 
| Отправлено: 28.04.2006, 15:31 | 
 
 
 | 
  
Ученик-кочегар 
 
Группа: Участник 
Сообщений: 2 
  
  
 | 
 Result := IDispatch(v) as IAcadApplication;
  
Вот с этой строчкой помогите  | 
  | 
| Aptem | 
| Отправлено: 30.04.2006, 15:50 | 
 
 
 | 
 
  
Мастер участка 
 
Группа: Участник 
Сообщений: 349 
  
  
 | 
| QUOTE (sfsf @ 28/04/2006, 15:31) |  Result := IDispatch(v) as IAcadApplication;
  
Вот с этой строчкой помогите |  
  
Конкретно с этой строчкой не помогу, но если это используется для проверки видимости приложения, то может вот это подойдет? 
| CODE  |   
App.OlePropertySet ( "Visible", true ); |   
 | 
  |