Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.07.2010, 22:35
Michae1 Michae1 вне форума
Прохожий
 
Регистрация: 17.07.2010
Сообщения: 2
Репутация: 10
По умолчанию Помогите с вызовом

Здравствуйте, я новичок в Delphi, поэтому прошу особо не пинать за вопрос.
Каким образом в классе или в методе класса можно рарешить вызов этого метода в неквалифицированной форме?
Т.е. например, имеется код COM-класса:
Код:
unit Test01;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
  Windows, ActiveX, Classes, ComObj, Tst01_TLB, StdVcl;
type
  TTest01 = class(TTypedComObject, ITest01)
  published
    function Method1: SYSINT; stdcall;
  end;
implementation
uses ComServ, Dialogs;
function TTest01.Method1: SYSINT; export;
begin
  ShowMessage('OK');
  Result:=0;
end;
initialization
  TTypedComObjectFactory.Create(ComServer, TTest01, Class_Test01,
    ciMultiInstance, tmApartment);
end.
Когда этот все компилируется в DLL, и затем вызывается из других программ то вызов типа TTest01.Method1 работает прекрасно, а мне очень нужно чтобы вызывалось просто Method1 без указания объекта.
Ответить с цитированием
  #2  
Старый 18.07.2010, 07:04
lmikle lmikle сейчас на форуме
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,026
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Тогда сделай простую DLL, а не СОМ.
Ответить с цитированием
  #3  
Старый 18.07.2010, 10:05
Michae1 Michae1 вне форума
Прохожий
 
Регистрация: 17.07.2010
Сообщения: 2
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Тогда сделай простую DLL, а не СОМ.
Простая DLL это крайний вариант, поскольку она будет использоваться в десятках приложений и содержать несколько сотен функций, количество которых будет еще расти, и декларировать эти функции во всех приложениях совсем не хочется, а COM позволил бы подключать их все сразу.
Кроме того известно что это возможно, т.к. есть компоненты которые работают одновременно и в простом вызове (главное чтобы не было конфликтов) и в объектном.
Например в VB есть св-ва класса "Instancing=GlobalMultiUse", которое включает эту возможность, а в Delphi такого нет, есть "Instancing=Multiple Instance", как бы сделать его Global?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 23:50.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter