Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.02.2010, 01:49   #11
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

в дельфях есть при подключении OLEctrls, ComObj, Mathcad_TLB, OleCtnrs.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 22.02.2010, 07:32   #12
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
типа variant нет метода open
У типа variant может и нет, а у того интерфейса, на который эта переменная ссылается может и есть. Чтоб узнать это нужно посмотреть в хелп Маткада, и почитать там о его API. Еще желательнее примеры попробовать из того же хелпа, если они конечно есть.
Так же рекомендую через какой нибудь Object Browser посмотреть какими методами и свойствами обладает СОМ сервер mathcad.auto, опять так если это именно тот который нужен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.02.2010, 10:29   #13
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Цитата:
в дельфях есть при подключении OLEctrls, ComObj, Mathcad_TLB, OleCtnrs.
Все это автоматом прописывается при добавлении OleContainer1.
Потом у меня mathcad.auto не подключается, можно только Mathcad.application,если писать что-то вроде(пишу по памяти)
Код:
Variant MC;
OleContainer1->CreateObjectFromFile("temp.xmcd",false);
MC=OleContainer1->OleObject;//тут на стадии выполнения вываливается ошибка(хотя почему не понятно),пишет Interface not supported;
//если писать такие варианты
OleContainer1->OleObject.OleFunction("Open","temp.xmcd");
// или
OleContainer1->OleObject.OleFunction("SetValue","in"(имя переменной в документе),1);
//то работать тоже не будет...
На этом страницы у меня в гугле кончились...В мануале MathCad(то что я нашел в нем) Есть методы типа SetValue,GetValue и т.д...но выше я писал что из это выходит.Эхх...буду дальше головой биться.
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 22.02.2010, 10:47   #14
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Еще раз - Рекомендую посмотреть методы Mathcad.application через любой доступный Object Browser
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.02.2010, 14:27   #15
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Ммм..Что есть Object Browser? Object inspector знаю,но там не отображается Mathcad.Application, там только тексты либы, о которой я писал выше. Возможно я не знаю многих очевидных для Вас вещей,но если б я был 7 пядей во лбу,я бы не задавал дурацких вопрос,верно?) А может я в конец запутался с этой вроде бы простой штукой...((
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 22.02.2010, 14:48   #16
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Что есть Object Browser?
Отдельная полезная программма, как правило входящая в разработческие среды Микрософта.
С Визуал Студио поставляется, помоему даже в VBA Ворда есть (Нажми Alt+F11 в Ворде, войдешь в редактор VBA там одна из кнопок на панели тот самы браузер).
Указываешь ей СОМ сервер и она показывает его интерфейсы, классы, методы и т.д.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.02.2010, 10:26   #17
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Вот то,что я увидел в Ворде...Теперь я еще больше не понимаю что делать,ибо все должно работать..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 23.02.2010, 10:30   #18
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ибо все должно работать
В каком коде?
Там есть Worksheets подозреваю что структура такая же как и в оффисе, т.е. в Worksheets должен быть метод Add, который открывает файл.
Поищи его.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.02.2010, 21:13   #19
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

Цитата:
У типа variant может и нет, а у того интерфейса, на который эта переменная ссылается может и есть.
Ммм...В Builder если я напишу так
Код:
w = CreateOleObject("mathcad.auto");
 w.Open("1.mcd");
Он ругнется,что такого метода нет и компилить не будет,т.е. он не смотрит на интерфейс подключаемого объекта(в этом и основная проблема).Пробую делать вариации на тему
Код:
IDispatch *M=Variant::CreateObject(Mathcad);//IDispath-откопал в либе
IMathcadApplication *Mathcad;//вот тут собственно и есть Mathad->Application->Worksheet->Open(*wchar_t);
Но не могу передать в Mathcad созданный объект,потом открыть и тд..
В общем я уже рехнусь скоро...Такое ощущение,что в С# и Delphi все работает с полтычка,а в builder...Нашел хороший пример в C#(вот).Как бы его заставить работать..))
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Старый 28.02.2010, 10:59   #20
Скарам
Дружите с Linq ;)
Форумчанин
 
Аватар для Скарам
 
Регистрация: 15.10.2008
Сообщений: 823
По умолчанию

И так,снова я и снова за советом. Проверил работу с C#,все нормально,т.е. и открывает,и считает(ссылку на пример я выкладывал в предыдущем сообщении).Теперь передо мной стоит такой вопрос:
Переписывать всю программу на С# или описать процедуры,которые мне нужны на С#и встроить в уже готовую программу на С++?..
Поскольку я толком не знаком с шарпом переписывать не хочется(тем более там заморочки с графиками и прочее).Поэтому приятней было бы сделать по второму варианту,но вот как?..Посоветуйте как проще и быстрее..
Не давай организму поблажки, каждый день тренируй его в шашки..
Скарам вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
MathCad werser Помощь студентам 1 14.12.2009 18:01
MathCAD+интерфейс e-bosh Помощь студентам 0 01.12.2009 17:07
MATHCAD HECTOR.A. Помощь студентам 3 08.03.2009 20:21
MathCad madshizik Microsoft Office Excel 2 10.10.2008 18:36