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

Вниз

Как сделать OCX-надстройку над другим OCX-ом?   Найти похожие ветки 

 
BlackTiger   (2003-06-11 13:47) [0]

Проблема такая - никогда не делал OCX-ы под Дельфями, только под VB6.

У меня есть "чужой" OCX (как библиотека функций). Кое что меня в ней не устраивает, точнее - как она себя ведет под .NET (там очень много работы с типом Variant, в который засовываются массивы - полный П в .NET, замечу я вам!). Я хочу продублировать методы этого компонента (некоторую часть), добавив свои методы для "обхода" работы с Variant.

С чего мне вообще нужно начинать? В результате я хотел бы увидеть "похожий" OCX, но уже со своими методами.

Надеюсь на помощь.

З.Ы.: Или может кто сразу знает как "обмануть" .NET в этом слачае (код на C#)

int fn = cf.FieldNo(hTable,"Balance");
int[] flds = new int[11]; //типа, так надо
flds[0] = 36;
flds[1] = 0; //типа, так тоже надо
object obj1 = new object();
obj1 = (object)flds;
// Метод CalcFields принимает (по версии .NET) параметры
// (int,int,ref object), а на самом деле (по версии VB6)
// (Long,Long,Variant). Variant в данном случае -
// массив из Long-ов
// А на следующей строчке вываливаемся (уже в Runtime-е)
// с ошибкой "Type mismatch"
cf.CalcFields(hTable,hRec,ref obj1);
newRow["Balance"] = cf.GetFieldData(hTable,hRec,fn);
dt.Rows.Add(newRow);


 
BlackTiger   (2003-06-11 16:33) [1]

Мужики! Ну подскажите хотя бы с чего начинать написание своего ActiveX-а, который будет содержать набор переменных и методов и будет вызывать методы другого ActiveX-а.

В VB6 все очень просто, а вот в Дельфях - как-то заморочено, имхо.


 
Serginio   (2003-06-11 18:21) [2]

Берешь File\open\ открываешь OCX. У тебя появится библиотека типов на самом верхнем значке библиотеки переходиш на вкладку Text снимаешь значек ReadOnly и копируешь весь текст в буфер.
Создаешь новую ActiveX dll и Automation object заходишь в библиотеку типов и вставляешь скопированный текст. Делаешь рефреш и у тебя готовая заготовка.



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

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

Наверх




Память: 0.47 MB
Время: 0.017 c
1-84202
Mortal
2003-06-12 13:33
2003.06.26
TListView


14-84684
Дмитрий К.К.
2003-06-11 06:23
2003.06.26
Именинники 11 июня


1-84327
Igor
2003-06-16 05:29
2003.06.26
Как запустить программу и дождаться ее завершения?


3-83928
Ler
2003-06-03 13:57
2003.06.26
Вопрос по LocalSQL


4-84814
1g0r
2003-04-22 13:53
2003.06.26
глубина цвета в HBITMAP, созданной CreateCompatibleBitmap()