Форум: "Основная";
Текущий архив: 2003.06.26;
Скачать: [xml.tar.bz2];
ВнизКак сделать 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c