gifts2017

Шаблон внешней компоненты на Delphi

Опубликовал Александр (Chieftain) в раздел Программирование - Внешние компоненты

Это мой шаблон ВК на Delphi

Никогда не нравилось предлагаемое 1С решение обработки событий и методов ВК из делфи. Решил малость упростить себе жизнь)))
Что получилось - в архиве.
За код не пинать. Здоровая критика и пожелания приветствуются

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ШаблонВК.rar
.1202729917 181,84Kb
25.09.09
201
.1202729917 181,84Kb 201 Бесплатно

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Олег Пономаренко (O-Planet) 13.02.08 19:34
Понравилось. А можешь продемонстрировать, как с помощью твоего класса Object1C вызывать методы объектов по их названию?
2. Александр (Chieftain) 14.02.08 09:46
(1) Что-то не совсем понял, что ты имел ввиду...
В асю постучись - подскажу
3. Александр (Chieftain) 28.02.08 18:02
Нууу... Народ, что молчим? Блина, но ведь отрицательные отзывы - это тоже неплохо)))
4. Евгений (jackevsen) 01.03.08 19:17
У меня вопрос на засыпку.В Borland Builder C++ можно написать внешнюю компоненту?
5. Александр (Chieftain) 01.03.08 23:19
6. Евгений (jackevsen) 02.03.08 13:06
Просто на сайте 1С написано,что поддерживаются такие среды разработки как Visual Studio,Borland Delphi.Да и в сети ищу шаблон компоненты именно для Borland Builder C++,а найти никак не могу.Есть для всего,но для этой среды разработки нету.Лично я проблем не вижу в этой среде разработки,но мало ли....
7. Александр (Chieftain) 02.03.08 20:21
Ну вообще-то я с сями не дружу, но вроде там тоже проблем не было
8. Артур Аюханов (artbear) 28.05.08 08:28
(4) Можно без проблем, полная аналогия с Дельфи.
9. Дмитрий Кунц (codeLocker) 02.07.08 15:04
А есть ли у кого пример на Delphi для восьмерки?
10. Андрей Семиглазов (deltaone) 09.02.09 17:03
(9) Закомментируй строчку помеченную (!) будет нормально работать вызов функций восьмерки, если не надо функции глобального контекста дергать, то ничего изменять не надо - оно и так работает на восьмой платформе.

[AddInLib.pas]
if GlobalContext then
begin
obj := OleVariant(p1cv7).AppDispatch;
(!) // IDispatch(obj)._AddRef;
end;

(1) Вызов функций глобального контекста

function TWaspVK.FN_RUN(var Params: OleVariant): OleVariant;
var
arg : TParams;
begin
arg := TParams.Create(1);
arg[1] := Params[2];
CallFunction(VarToStr(Params[1]), '', True, arg, Result);
end;

в коде 1с зовется так:

WASP.RUN("Сообщить", "afadsfasdf");

P.S. Автору зачот !!!! Просто нет других слов ...
11. Андрей Семиглазов (deltaone) 09.02.09 17:15
(3) По поводу доработок - на ум приходит только одно - не плодить функции записи/чтения свойств, вместо 2х функций сделать 1-у и упрвлять операцией через case ...

function object.UserModeRW(mode: TMode, ...)
begin
case mode of
m_get_value:
....
m_set_value: ;
....
end;
end;

и обработку исключений убрать из пользовательских функций установки значений ( перенести в вызов метода объекта установки значения - короче повыше уровнем ;)
12. Андрей Семиглазов (deltaone) 09.02.09 17:22
Хы, и вопрос, совсем забыл ;)

Как вызвать функции неглобального контекста, которые описаны в общих модулях

CallFunction('SHARED.CleanString', '', True, arg, Result);

нифига не катит ;(

Догадываюсь, что надо получить контекст SHARED только как его получить х.з. ;(
13. Мну Мнувич (zll32) 20.04.09 18:04
SHARED – Это как раз второй параметр функции, который у тя пустой да еще и строкового типа =)

Например чтобы вызвать функцию из модуля обработки нужно в 1С так писать
CallFunction('CleanString', ОбработкаОбъект, True, arg, Result);
Только функция 'CleanString' должна быть Экспортная
14. Мну Мнувич (zll32) 21.04.09 10:40
Футы, не истина а ложь конечно
CallFunction('CleanString', ОбработкаОбъект, FALSE, arg, Result);
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа