Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.11.27;
Скачать: CL | DM;

Вниз

ActiveX   Найти похожие ветки 

 
antonm ©   (2003-03-09 23:41) [0]

Использовал я в своем KOL-приложении ActiveX компонент TShockwaveFlash. Размер .exe стал ~400Kb. В файле ShockwaveFlashObjects_TLB.pas естественно используется куча модулей:
uses Windows, ActiveX, Classes, OleCtrls, OleServer, Variants;

Это лечится? Может я делаю что-то не так?

p.s. Установил KOL&MCK первый раз...


 
SPeller ©   (2003-03-10 01:56) [1]

Лучиться должно, просто этот компонент нужно перевести на KOL.


 
Fantasist.   (2003-03-12 18:26) [2]

Естесственно, мастер создает ActiveX из библиотеки типов на основе компонентов VCL, то есть VCL и подключается. Перевести его на KOL без ухищрений не получиться - object в Делфи не поддерживает interface, так как работу его обеспечивает TObject.
( некую поддержку COM) Естесственно, мастер создает ActiveX из библиотеки типов на основе компонентов VCL, то есть VCL и подключается. Перевести его на KOL без ухищрений не получиться - object в Делфи не поддерживает interface, так как работу его обеспечивает TObject.
Кстати, я когда-то написал подобное извращение (некую поддержку COM), интересно, что с ним стало?


 
Fantasist.   (2003-03-12 18:55) [3]

Хотя нет, поторопился - обертку typelib-а еще сделать можно, в этом случае самому объекту поддерживать интерфейсы не нужно - достадочно просто хранить их в переменных.


 
Boguslaw   (2003-03-12 20:11) [4]

Could You publish all Your work about ActiveX in KOL somewhere on WWW page ? That was very interesting....


 
Юрий   (2003-03-13 18:24) [5]

Может кто может написать мастер по переводу таких импортированных Delphi ActiveX на KOL? Может это не так сложно? Или всё-таки это трудоёмко? Что скажут те, кто KOL пользуют давно?


 
Fantasist.   (2003-03-13 19:06) [6]


> Could You publish all Your work about ActiveX in KOL somewhere
> on WWW page ?



Я послал это все Gandalf. Давно уже. Месяца два-три назад. Это была рабочая версия предаставляющая возможность писать ActiveX на паскалевских object. Не скажу, что найденное мной решение самое красивое, однако это было интересно.


 
Bartov   (2003-03-13 19:38) [7]

2 Fantasist.

Зашли мне тоже.


 
Boguslaw   (2003-03-14 01:05) [8]

and for me...


 
SerB   (2003-03-14 08:24) [9]

Извините, но я маленько не въезжаю, а что кладовская утилита TLIB2KOL не срабатывает? Кстати я из 55 kB в своих приложениях с библиотечкой ActiveX и ShokwafeFlash не выползал (и в KOL и в KOL&МСК проектах... Намыль на вский случай и мне...


 
Bartov   (2003-03-14 09:05) [10]

> Я послал это все Gandalf. Давно уже. Месяца два-три назад. Это была рабочая версия предаставляющая возможность писать ActiveX на паскалевских object. Не скажу, что найденное мной решение самое красивое, однако это было интересно.

Качайте отсюда:
http://delphikol.narod.ru/progs/KOLActiveDLL.zip

Ссылку на страничке сделаю попозже.


 
Bartov   (2003-03-14 09:23) [11]

Извениюсь, перепутал (еще пока сплю на ходу), качайте отсюда:
http://delphikol.narod.ru/units/KOLActiveX.zip


 
Bartov   (2003-03-16 01:09) [12]

2 Fantasist.

Выложил в разделе "Модули"


 
Bartov   (2003-03-16 13:29) [13]

2 Fantasist.

> Хотя возможно стоило вообще все это дело
переписать, в данном варианте оно работает, но
выглядит не очень красиво. Только не вижу пока, чтобы
это было кому-то нужно.


Нужно и многим - уже письмами заволили ;-)


 
Boguslaw   (2003-03-16 21:04) [14]

2 Fantasist

But example not compiling under Delphi 5 Standard ;-(

First error: Where is the definition of TVarType ?


Second error: Record,object or class type required --->

function GUIDComp(GUID1,GUID2:TGUID):boolean;
begin
Result:=(int64(GUID1.D4).Lo=int64(GUID2.D4).Lo) and (int64(GUID1.D4).Hi=int64(GUID2.D4).Hi) and
( GUID1.D1=GUID2.D1) 2 Fantasist

But example not compiling under Delphi 5 Standard ;-(

First error: Where is the definition of TVarType ?


Second error: Record,object or class type required --->

function GUIDComp(GUID1,GUID2:TGUID):boolean;
begin
Result:=(int64(GUID1.D4).Lo=int64(GUID2.D4).Lo) and (int64(GUID1.D4).Hi=int64(GUID2.D4).Hi) and
(GUID1.D1=GUID2.D1) and (GUID1.D2=GUID2.D2) and (GUID1.D3=GUID2.D3);
end;


 
Fantasist.   (2003-03-17 23:25) [15]


>
> But example not compiling under Delphi 5 Standard ;-(



For Delphi6 both defenition can be found in System unit. Otherwise here:

TVarType = Word;

PGUID = ^TGUID;
TGUID = packed record
D1: LongWord;
D2: Word;
D3: Word;
D4: array[0..7] of Byte;
end;



 
Fantasist.   (2003-03-17 23:41) [16]


> Нужно и многим - уже письмами заволили ;-)


В каком духе?
А чтобы вам тогда самим и не закончить? Не уверен, что в ближайшее время буду этим заниматься ( надо писать коннектор для MS SQL 2000 из под Linux :) ). Там ничего сложного нет - все что нужно - это сообразить как половчее создать таблицу интерфейсов, (тут можно кое-что улучшить но не думаю, что что-то кардинально все-равно останется не очень, примерно как COM в C (не С++) - тоже работает, только основной код делают мастера, потому как очень понятно что делать, но громозко все писать самому) , а дальше пишим мастера, переводим VCL - короче работа большая и другого плана. Один тонкий момент, имплементацию IDispatch я уже организовал, ее вполне можно использовать.



Страницы: 1 вся ветка

Текущий архив: 2003.11.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.033 c
4-90182
LG
2003-10-05 02:18
2003.11.27
Как на SHAppBar добавить к примеру кнопки или Label`ы или другие


3-89683
NewD
2003-11-06 13:38
2003.11.27
Как сохранять содержимое файлов в БД и обратно ?


3-89778
MakNik
2003-11-05 20:21
2003.11.27
DBGrid


3-89739
Developerr
2003-11-10 20:51
2003.11.27
Yaffil SQL Server Login и Password


14-90087
vopros
2003-11-06 09:28
2003.11.27
Мужики кто-нибудь знает как АТС Definity параметр