|
![]() |
#1 |
1C
|
я понял... задача нерешаема...
|
|
![]() |
#2 |
Участник
|
Дума, что просто либо никто не решал, либо кто решал пока не заглядывал на форум.
Вообще, если есть COM объект, то в трешке можно спокойно дергать его. Иногда бывает трудно подобрать тип параметров. А еще, мне кажется, что обеспечить CallBack не получится. Если бы не проблема с CallBack, то в нижеприведенном примере можно было бы использовать MSWinsock.Winsock (правда видимо это что-то не входящее в Windows XP). Можно было бы даже без использования WScript. Но в примере есть обратный вызов (точнее реакция на событие). Еще думаю, можно воспользоваться WINApi (если не ошибаюсь, то все в библиотеках ws2_32.dll и wsock32.dll), но я не системщик, помочь не смогу в API. |
|
![]() |
#3 |
Боец
|
1. Находим у себя или качаем файл MSWINSCK.OCX (это родной, от Microsoft)
2. Регим его: regsvr32.exe MSWINSCK.OCX 3. "Лицензируем" с помощью файла MSWINSCK.reg 4. Создаем в АОТ, например, 2 формы: SCKSender, SCKReceiver, добавляем в обе зарегиный ActiveX, програмим как нам нужно. В аттачменте найдете все необходимое. Я застрял на этапе соединения: оба "видят" друг-друга, но Receiver придуривается, и не принимает входящее соединение от Sender'a. Уж нету сил разбираться. ![]() |
|
![]() |
#4 |
1C
|
Цитата:
Сообщение от DSPIC
![]() 1. Находим у себя или качаем файл MSWINSCK.OCX (это родной, от Microsoft)
2. Регим его: regsvr32.exe MSWINSCK.OCX 3. "Лицензируем" с помощью файла MSWINSCK.reg 4. Создаем в АОТ, например, 2 формы: SCKSender, SCKReceiver, добавляем в обе зарегиный ActiveX, програмим как нам нужно. В аттачменте найдете все необходимое. Я застрял на этапе соединения: оба "видят" друг-друга, но Receiver придуривается, и не принимает входящее соединение от Sender'a. Уж нету сил разбираться. ![]() а вот импортировать не получилось... говорит, что неверный формат файла экспорт... |
|
![]() |
#5 |
Боец
|
мда, забыл что у Вас 3-ка. Проект делался в 4-ке. Попробуйте этот
|
|
![]() |
#6 |
Боец
|
Если я правильно Вас понял, то вкратце так:
1. Сделать форму невидимой (свойство visible на дизайне) 2. По нажатию на кнопку вж урнале, вызывается невидимая форма, ловите там нужные параметры из element.args(). 3. В методе run() после super() делаете что нужно, и вызываете element.close(); Последний раз редактировалось DSPIC; 24.01.2009 в 22:02. |
|
![]() |
#7 |
1C
|
|
|
![]() |
#8 |
Участник
|
|
|
![]() |
#9 |
Боец
|
Поищите, почитайте - как передаются параметры между формами.
|
|
|
За это сообщение автора поблагодарили: Dolter (1). |
![]() |
#10 |
1C
|
Народ... расскажите пошагово, плз... мучаюсь, мучаюсь, но свой одинэсовский подход никак победить не могу :-(
есть форма сендера, на которой есть текст и 2 кнопки... мне необходимо, находясь в некой форме таблице (например CustTable) открыть эту форму по кнопке, причем так, чтобы в текст попало "CustTable;0123456789", где 0123456789 - это RecID и выполнить методы лежащие под теми двумя кнопками (соединиться и отправить месседж)... |
|
![]() |
#11 |
MCTS
|
На ините вашей формы:
X++: FormRun fr; super(); if (this.args()) fr = this.args().caller(); if (fr) staticText.text(strfmt("CustTable;%1", fr.dataSource(1).cursor().RecId)); |
|
![]() |
#12 |
Участник
|
|
|
![]() |
#13 |
Боец
|
2 Eldar9x: Как-то слишком лабораторно
![]() Прикрепил пример на основе 2х форм. |
|
![]() |
#14 |
1C
|
|
|
![]() |
#15 |
1C
|
X++: if (fr) sendStrCtrl.text(strfmt("%1;%2", fr.dataSource(1).name(), fr.dataSource(1).cursor().RecId)); |
|
![]() |
#16 |
Боец
|
Цитата:
fr.dataSource(1).name()
2. Почему именно 1й а не 2й ? ![]() Ну если из разных, то вкратце так X++: common record;
record = element.args().record();
sendStrCtrl.text(strfmt("%1;%2", tableid2name(record.tableId), record.RecId)); |
|
![]() |
#17 |
1C
|
еще одна странность:
X++: element.connect(); element.send(); element.close(); если ручками нажать обе кнопки, то все в порядке... :-( даже работает, если в ините сразу законнектится, а потом только сенд нажать... |
|
![]() |
#18 |
1C
|
Пока решил следующим образом:
1. В ините формирование строки к отправке и коннект 2. На форме кроме кнопки "сенд" все в инвизибл 3. По сенду отправляем и закрываем форму в итоге: на любую форму перетягиваем мышкой кнопку и оп-па! одинэска по ТСП отлавливает имя таблицы и РекИД - и уже по внутри определенным в загрузчике правилам загружает необходимые данные :-) Огромное всем спасибо! (чуть позже, конечно же, попробую засунуть все это в триггер при записи в аксапте... чтобы без всяких кнопок) |
|