Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "KOL";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.009 c
1-89932
Nucl
2003-11-17 18:02
2003.11.27
Картинки из TImageList


3-89770
AndDem
2003-10-31 14:31
2003.11.27
Scroll DBGrid


14-90095
REA
2003-11-04 16:04
2003.11.27
Круговая порука


1-89866
Varelik
2003-11-13 14:01
2003.11.27
Рассыпается дизайн при смене крупного шрифта системы на мелкий.


1-89883
Гег
2003-11-15 19:04
2003.11.27
Присвоение всяких данных





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский