22.12.2008, 12:50 | #1 |
1C
|
TCP клиент в Axapta
Подскажите, плз, как реализовать
Лучше всего кусок кода :-) Есть компонента на .NET, но как ее использовать не знаю... Использую ее в 1С... |
|
22.12.2008, 12:57 | #2 |
Боец
|
см. пример
\Classes\Global\str2IntOk |
|
22.12.2008, 13:10 | #3 |
1C
|
|
|
22.12.2008, 13:18 | #4 |
Боец
|
То ли вопроса не понял, то ли шутку не оценил
Там используется "компонента" regex, а точнее .net класс Regex: http://msdn.microsoft.com/en-us/libr...ons.regex.aspx |
|
22.12.2008, 13:23 | #5 |
MCITP
|
Цитата:
Сообщение от DSPIC
То ли вопроса не понял, то ли шутку не оценил
Там используется "компонента" regex, а точнее .net класс Regex: http://msdn.microsoft.com/en-us/libr...ons.regex.aspx Просто нужно было уточнить, что смотреть нужно на 4-ке, а то в 3-ке код этого метода совсем другой. 4: X++: static boolean str2IntOk(str 100 _str) { boolean retval; InteropPermission permission; System.Text.RegularExpressions.Regex re; ; permission = new InteropPermission(InteropKind::ClrInterop); permission.assert(); // BP deviation documented re = new System.Text.RegularExpressions.Regex('^\\s*[+\\-]?\\s*[0-9]+\\s*$'); //return ClrInterop::getAnyTypeForObject(re.IsMatch(_str)); // BP deviation documented retval = CLRInterop::getAnyTypeForObject(re.IsMatch(_str)); return retval; } X++: static boolean str2IntOk(str 100 _str) { return (! strnFind(_str, '0123456789', 1, 999)); }
__________________
Zhirenkov Vitaly |
|
|
За это сообщение автора поблагодарили: aidsua (1). |
22.12.2008, 13:26 | #6 |
1C
|
|
|
22.12.2008, 13:28 | #7 |
1C
|
|
|
22.12.2008, 13:36 | #8 |
1C
|
Не... тугодум я... не могу понять как сделать такое:
X++: ("AddIn.TCP"); TCP = ("AddIn.TCP"); Port = 6700; IP = TCP.GetIPAddress(); TCP.Send(IP, Port, "22Сообщение"); |
|
22.12.2008, 13:50 | #9 |
MCTS
|
Если у вас тройка, то так легко как в четверке сборки использовать не получится. Заюзайте Regasm.exe - Assembly Registration Tool. Потом можно будет использовать сборку через COM
|
|
22.12.2008, 13:56 | #10 |
Боец
|
com = new COM('{XXXXXX-XXXX-XXXX-XXXXXX}');
или com = new COM('AddIn.TCP'); ? |
|
22.12.2008, 13:59 | #11 |
1C
|
Цитата:
но я все равно никак не могу понять как его "запустить, чтобы взлетело" :-( |
|
22.12.2008, 14:02 | #12 |
1C
|
|
|
22.12.2008, 14:04 | #13 |
Боец
|
Цитата:
COM myCom = new COM('AddIn.TCP');
; myCom .send('172.17.7.161', 6700, '22Сообщение'); |
|
22.12.2008, 14:08 | #14 |
1C
|
|
|
22.12.2008, 14:08 | #15 |
Участник
|
А этот AddIn.TCP случайно не по технологии "внешних компонет" 1С сделан? Там же вроде не совсем автономные COM объекты.
|
|
22.12.2008, 14:15 | #16 |
1C
|
Цитата:
Написан на VB.NET, зареген regasm-ом... сейчас попробу. написать без использования "одинэсовских" вставок... |
|
22.12.2008, 14:56 | #17 |
1C
|
Ниччего не получается... а есть еще какие-либо методы отправки сообщения на порт??
|
|
22.12.2008, 15:27 | #18 |
Участник
|
В точкаNet работв с сокетами собрана в сборке System.Net.Sockets. Попробуй поискать примеры на VB.NET этой сборки. Из VB в аксаптовский код уже будет несложно изменить (в DAX4)
|
|
23.12.2008, 10:52 | #19 |
1C
|
|
|
23.12.2008, 14:00 | #20 |
1C
|
А вот как можно такое в тройке сделать (с использованием того же MSWinsock.Winsock)
X++: dim winsock dim bConnected bConnected=false sub winsock_Connect bConnected=true end sub Set winsock=WScript.CreateObject("MSWinsock.Winsock") WScript.ConnectObject winsock,"winsock_" winsock.Connect "172.17.7.161", 6700 do while not (bConnected) WScript.Sleep 100 Loop winsock.SendData "12" |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|