Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Radgard
Зарегистрирован: 23.07.2007 Сообщения: 25
|
Добавлено: Пн Июл 23, 2007 2:52 am Заголовок сообщения: Встраивание Mapinfo в другие приложения |
|
|
Привет всем... понимаю, что спрошу глупость, но сам ничего не могу сделать...
мне нужно в проект Delphi встроить окно mapinfo, запущенного в фоновом режиме... только и всего... я уже все перепробовал, но не могу активизировать окно... mapinfo запускается, а окна в delphi не видно...
Пожалуйста откликнитесь все кто хотя бы раз делал такое...
P.S. Статьи Дмитрия Кузана уже выучил наизусть... Но даже по ним мало чего могу сделать, а компонент нерабочий (или я так думаю)... |
|
Вернуться к началу |
|
|
Radgard
Зарегистрирован: 23.07.2007 Сообщения: 25
|
Добавлено: Пн Июл 23, 2007 9:26 am Заголовок сообщения: |
|
|
Никто не знает или никто не хочет?
Я все таки запустил mapinfo, но к сожалению столкнулся с другой проблемой...
моя программка работает со вторым экземпляром mapinfo, а после выхода закрывает только первый...
как сделать так, чтобы либо она работала с первым, либо чтобы она вообще все открытые mapinfo закрывала??? |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Вт Июл 24, 2007 11:20 am Заголовок сообщения: |
|
|
Ты бы хоть написал как запускаешь MapInfo.
CreateOleObject?
Попробуй GetActiveOLEObject |
|
Вернуться к началу |
|
|
Radgard
Зарегистрирован: 23.07.2007 Сообщения: 25
|
Добавлено: Ср Июл 25, 2007 5:16 am Заголовок сообщения: |
|
|
Я использую уже написанный компонент (Кузановский, а это было еще в далекам 2002 году), а там в текстовке стоит Create...
А потом просто делаю Этому серверу Active:=True и все...
с компонентом вродь разобрался... рабочий...
просто в MapInfo я новичек...
а Вы тут уже все профессионалы...
Поэтому я и прошу помощи...
Задача вроде бы простая: взять Delphi, подгрузить туды слои (улицы, здания, земельные участки), а потом простым поиском по MI_PRINX найти нужный участок и вывести его...
Все уже почти сделал, одна проблема - готовый компонент немного притупляет (или я :( ). Delphi вместо того, чтобы перехватывать окна из MapInfo кидает ей команды MapBasic напрямую... А если открыть вторую, то тогда уже все начинает работать нормально...
Еще проблема в том, что один из пунктов задачи - работа с Oracle...
А и тут тож я не очень... Но там мал помалу все стало понятно...
Вроде все... Помогите кто чем может!!! |
|
Вернуться к началу |
|
|
Radgard
Зарегистрирован: 23.07.2007 Сообщения: 25
|
Добавлено: Ср Июл 25, 2007 5:19 am Заголовок сообщения: Андрей Могильный - я вижу ты спец |
|
|
Просто увидел, что ты много, а главное по смыслу отвечаешь на форуме в разных темах... Может подкинешь аську свою, чтобы можно было в онлайне спросить че нить? |
|
Вернуться к началу |
|
|
Андрей Могильный
Зарегистрирован: 21.03.2006 Сообщения: 864
|
Добавлено: Ср Июл 25, 2007 2:40 pm Заголовок сообщения: |
|
|
Пиши лучше вопросы сюда. Я хоть и отвечаю, но по мере возможности, времени и т.д. А здесь все-таки сообщество профессионалов, и помочь кроме меня могут многие. |
|
Вернуться к началу |
|
|
Vova
Зарегистрирован: 21.08.2007 Сообщения: 5
|
Добавлено: Вт Авг 21, 2007 12:50 pm Заголовок сообщения: |
|
|
Залезь в папку куда ты установил MapBasic. Там будет папка Samples. В ней находятся примеры использования MapInfo в других приложениях на разных языках программирования.
Вообщем:
создай на форме панель panel1, кнопку...:
uses
StdCtrls, OleCtnrs, ComCtrls, Spin, ComObj, Grids,
ExtCtrls;
var
MapInfo: variant;
sWinHand : String;
procedure TForm1.FormCreate(Sender: TObject);
begin
MapInfo := CreateOLEObject('MapInfo.Application');
Str(Panel1.Handle, sWinHand);
MapInfo.Do('Set Next Document Parent ' + sWinHand + ' Style 1');
MapInfo.Do('Set Application Window ' + sWinHand);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Str(Panel1.Handle, sWinHand);
MapInfo.Do('Set Next Document Parent ' + sWinHand + ' Style 1');
MapInfo.Do('Set Application Window ' + sWinHand);
MapInfo.RunMenuCommand(102);
end; |
|
Вернуться к началу |
|
|
Radgard
Зарегистрирован: 23.07.2007 Сообщения: 25
|
Добавлено: Ср Авг 22, 2007 2:31 am Заголовок сообщения: спасибо |
|
|
так и сделал...
мануалы - вещь!!! |
|
Вернуться к началу |
|
|
kipishya
Зарегистрирован: 22.01.2010 Сообщения: 1 Откуда: Ханты-Мансийск
|
Добавлено: Ср Ноя 17, 2010 8:51 am Заголовок сообщения: |
|
|
Здравствуйте. Помогите, пожалуйста, разобраться с установкой компонента (я использую последнюю выложенную версию).
Я делаю так:
1.регистрирую MiCallBack.DLL в системе
2.копирую dll-ку в папку windows.
3.Component->Install component
4. Правлю модуль _myFunctions.Strings
5. Компилирую пакет, вылазят сообщения:
[Warning] Unit 'ComServ' implicitly imported into package 'MapInfo'
[Error] $DENYPACKAGEUNIT 'ComServ' cannot be put into a package
Подскажите, что нужно делать в этой ситуации? Или что я делаю неправильно? |
|
Вернуться к началу |
|
|
|