23.12.2008, 19:39 | #21 |
1C
|
я понял... задача нерешаема...
|
|
23.12.2008, 22:27 | #22 |
Участник
|
Дума, что просто либо никто не решал, либо кто решал пока не заглядывал на форум.
Вообще, если есть COM объект, то в трешке можно спокойно дергать его. Иногда бывает трудно подобрать тип параметров. А еще, мне кажется, что обеспечить CallBack не получится. Если бы не проблема с CallBack, то в нижеприведенном примере можно было бы использовать MSWinsock.Winsock (правда видимо это что-то не входящее в Windows XP). Можно было бы даже без использования WScript. Но в примере есть обратный вызов (точнее реакция на событие). Еще думаю, можно воспользоваться WINApi (если не ошибаюсь, то все в библиотеках ws2_32.dll и wsock32.dll), но я не системщик, помочь не смогу в API. |
|
23.12.2008, 23:35 | #23 |
Боец
|
1. Находим у себя или качаем файл MSWINSCK.OCX (это родной, от Microsoft)
2. Регим его: regsvr32.exe MSWINSCK.OCX 3. "Лицензируем" с помощью файла MSWINSCK.reg 4. Создаем в АОТ, например, 2 формы: SCKSender, SCKReceiver, добавляем в обе зарегиный ActiveX, програмим как нам нужно. В аттачменте найдете все необходимое. Я застрял на этапе соединения: оба "видят" друг-друга, но Receiver придуривается, и не принимает входящее соединение от Sender'a. Уж нету сил разбираться. Думаю - это уже дело техники... |
|
24.12.2008, 12:52 | #24 |
1C
|
Цитата:
Сообщение от DSPIC
1. Находим у себя или качаем файл MSWINSCK.OCX (это родной, от Microsoft)
2. Регим его: regsvr32.exe MSWINSCK.OCX 3. "Лицензируем" с помощью файла MSWINSCK.reg 4. Создаем в АОТ, например, 2 формы: SCKSender, SCKReceiver, добавляем в обе зарегиный ActiveX, програмим как нам нужно. В аттачменте найдете все необходимое. Я застрял на этапе соединения: оба "видят" друг-друга, но Receiver придуривается, и не принимает входящее соединение от Sender'a. Уж нету сил разбираться. Думаю - это уже дело техники... а вот импортировать не получилось... говорит, что неверный формат файла экспорт... |
|
24.12.2008, 13:18 | #25 |
Боец
|
мда, забыл что у Вас 3-ка. Проект делался в 4-ке. Попробуйте этот
|
|
22.01.2009, 14:55 | #26 |
1C
|
ругается, что нет верной лицензионной информации под эктив-икс... :-(
|
|
22.01.2009, 15:30 | #27 |
1C
|
Причем тот же самый объект в ВБС создается и отрабатывает...
|
|
22.01.2009, 15:45 | #28 |
1C
|
УРА! заработало! переввел Эктив в форме, т.е. удалил и выбрал наново и заработало!
:-)) |
|
24.01.2009, 21:46 | #29 |
1C
|
А вот еще вопрос...
Форма тозаработала, но никак не могу понять как сделать следующее: На форме журнала накладных размещаю кнопку - форма вызывается... а как сделать чтобы сразу строку сообщения в этой форме сформировать, законнектиться и сообщение отправить? причем строка должна содержать ИД таблицы и ИД записи журнала... |
|
24.01.2009, 22:00 | #30 |
Боец
|
Если я правильно Вас понял, то вкратце так:
1. Сделать форму невидимой (свойство visible на дизайне) 2. По нажатию на кнопку вж урнале, вызывается невидимая форма, ловите там нужные параметры из element.args(). 3. В методе run() после super() делаете что нужно, и вызываете element.close(); Последний раз редактировалось DSPIC; 24.01.2009 в 22:02. |
|
24.01.2009, 23:15 | #31 |
1C
|
|
|
25.01.2009, 11:43 | #32 |
Боец
|
Поищите, почитайте - как передаются параметры между формами.
|
|
|
За это сообщение автора поблагодарили: Dolter (1). |
25.01.2009, 14:57 | #33 |
Участник
|
|
|
02.02.2009, 15:12 | #34 |
1C
|
Народ... расскажите пошагово, плз... мучаюсь, мучаюсь, но свой одинэсовский подход никак победить не могу :-(
есть форма сендера, на которой есть текст и 2 кнопки... мне необходимо, находясь в некой форме таблице (например CustTable) открыть эту форму по кнопке, причем так, чтобы в текст попало "CustTable;0123456789", где 0123456789 - это RecID и выполнить методы лежащие под теми двумя кнопками (соединиться и отправить месседж)... |
|
02.02.2009, 15:45 | #35 |
MCTS
|
На ините вашей формы:
X++: FormRun fr; super(); if (this.args()) fr = this.args().caller(); if (fr) staticText.text(strfmt("CustTable;%1", fr.dataSource(1).cursor().RecId)); |
|
02.02.2009, 16:07 | #36 |
Участник
|
|
|
02.02.2009, 16:15 | #37 |
Боец
|
2 Eldar9x: Как-то слишком лабораторно
Прикрепил пример на основе 2х форм. |
|
02.02.2009, 16:21 | #38 |
1C
|
|
|
02.02.2009, 16:41 | #39 |
1C
|
X++: if (fr) sendStrCtrl.text(strfmt("%1;%2", fr.dataSource(1).name(), fr.dataSource(1).cursor().RecId)); |
|
02.02.2009, 17:08 | #40 |
Боец
|
Цитата:
fr.dataSource(1).name()
2. Почему именно 1й а не 2й ? Ну если из разных, то вкратце так X++: common record;
record = element.args().record();
sendStrCtrl.text(strfmt("%1;%2", tableid2name(record.tableId), record.RecId)); |
|