AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 22.12.2008, 12:50   #1  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
TCP клиент в Axapta
Подскажите, плз, как реализовать
Лучше всего кусок кода :-)
Есть компонента на .NET, но как ее использовать не знаю... Использую ее в 1С...
Alt 22.12.2008, 12:57   #2  
DSPIC ist offline
DSPIC
Боец
 
1.077 / 1243 (44) ++++++++
Registriert seit: 11.04.2008
см. пример
\Classes\Global\str2IntOk
Alt 22.12.2008, 13:10   #3  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von DSPIC Beitrag anzeigen
см. пример
\Classes\Global\str2IntOk
эээ??? и что там такого???
Alt 22.12.2008, 13:18   #4  
DSPIC ist offline
DSPIC
Боец
 
1.077 / 1243 (44) ++++++++
Registriert seit: 11.04.2008
То ли вопроса не понял, то ли шутку не оценил
Там используется "компонента" regex, а точнее .net класс Regex:
http://msdn.microsoft.com/en-us/libr...ons.regex.aspx
Alt 22.12.2008, 13:23   #5  
ZVV ist offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1.006 / 246 (11) ++++++
Registriert seit: 13.02.2004
Ort: Минск
->
Zitat:
Zitat von DSPIC Beitrag anzeigen
То ли вопроса не понял, то ли шутку не оценил
Там используется "компонента" 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;
}
3:
X++:
static boolean str2IntOk(str 100 _str)
{
    return (! strnFind(_str, '0123456789', 1, 999));
}
__________________
Zhirenkov Vitaly
This post has been rated by: aidsua (1).
Alt 22.12.2008, 13:26   #6  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von DSPIC Beitrag anzeigen
Там используется "компонента" regex, а точнее .net класс Regex
X++:
static boolean str2IntOk(str 100 _str)
{
    return (! strnFind(_str, '0123456789', 1, 999));
}
сори, но не вижу :-(
Alt 22.12.2008, 13:28   #7  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von ZVV Beitrag anzeigen
Просто нужно было уточнить, что смотреть нужно на 4-ке, а то в 3-ке код этого метода совсем другой.
Ага! Так вот где собака порылась! :-) Спасибо, сейчас попробую
Alt 22.12.2008, 13:36   #8  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Не... тугодум я... не могу понять как сделать такое:
X++:
("AddIn.TCP");
TCP =  ("AddIn.TCP");
Port = 6700;
IP = TCP.GetIPAddress();
TCP.Send(IP, Port, "22Сообщение");
Это код из 1С... как тоже самое сделать в Аксапте?
Alt 22.12.2008, 13:50   #9  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Если у вас тройка, то так легко как в четверке сборки использовать не получится. Заюзайте Regasm.exe - Assembly Registration Tool. Потом можно будет использовать сборку через COM
Alt 22.12.2008, 13:56   #10  
DSPIC ist offline
DSPIC
Боец
 
1.077 / 1243 (44) ++++++++
Registriert seit: 11.04.2008
com = new COM('{XXXXXX-XXXX-XXXX-XXXXXX}');
или
com = new COM('AddIn.TCP');

?
Alt 22.12.2008, 13:59   #11  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von Eldar9x Beitrag anzeigen
Если у вас тройка, то так легко как в четверке сборки использовать не получится. Заюзайте Regasm.exe - Assembly Registration Tool. Потом можно будет использовать сборку через COM
Я подключаю в 1С только для того, чтобы в дальнейшем отлавливать события компоненты... в принципе Send работает и без подключения, т.е. Regasm.exe уже задействован...
но я все равно никак не могу понять как его "запустить, чтобы взлетело" :-(
Alt 22.12.2008, 14:02   #12  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von DSPIC Beitrag anzeigen
com = new COM('{XXXXXX-XXXX-XXXX-XXXXXX}');
или
com = new COM('AddIn.TCP');
?
X++:
static void testJob(Args _args)
{
    com = new COM('AddIn.TCP');
    com.send('172.17.7.161', 6700, '22Сообщение');
}
говорит про синтаксическую ошибку...
Alt 22.12.2008, 14:04   #13  
DSPIC ist offline
DSPIC
Боец
 
1.077 / 1243 (44) ++++++++
Registriert seit: 11.04.2008
Zitat:
COM myCom = new COM('AddIn.TCP');
;

myCom .send('172.17.7.161', 6700, '22Сообщение');
а так?
Alt 22.12.2008, 14:08   #14  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von DSPIC Beitrag anzeigen
а так?
А так говорит, что объект не был правильно зарегестрирован... хотя одинэска его "поднимает"...
Alt 22.12.2008, 14:08   #15  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
А этот AddIn.TCP случайно не по технологии "внешних компонет" 1С сделан? Там же вроде не совсем автономные COM объекты.
Alt 22.12.2008, 14:15   #16  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von Raven Melancholic Beitrag anzeigen
А этот AddIn.TCP случайно не по технологии "внешних компонет" 1С сделан? Там же вроде не совсем автономные COM объекты.
По технологии, но обладает всеми признаками автономности :-)
Написан на VB.NET, зареген regasm-ом... сейчас попробу. написать без использования "одинэсовских" вставок...
Alt 22.12.2008, 14:56   #17  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Ниччего не получается... а есть еще какие-либо методы отправки сообщения на порт??
Alt 22.12.2008, 15:27   #18  
Raven Melancholic ist offline
Raven Melancholic
Участник
Benutzerbild von Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2.164 / 1296 (48) ++++++++
Registriert seit: 21.03.2005
Ort: Москва-Петушки
В точкаNet работв с сокетами собрана в сборке System.Net.Sockets. Попробуй поискать примеры на VB.NET этой сборки. Из VB в аксаптовский код уже будет несложно изменить (в DAX4)
Alt 23.12.2008, 10:52   #19  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
Zitat:
Zitat von Raven Melancholic Beitrag anzeigen
Из VB в аксаптовский код уже будет несложно изменить (в DAX4)
у меня тройка... :-(
Alt 23.12.2008, 14:00   #20  
Dolter ist offline
Dolter
1C
1C
 
83 / 18 (1) ++
Registriert seit: 18.11.2005
А вот как можно такое в тройке сделать (с использованием того же 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"
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
Клиент AXAPTA на КПК Dimitry DAX: Администрирование 7 29.03.2004 10:09
Говорят вышел SP2 для Axapta 3. Кто нибуть что знает на эту тему? soin DAX: Прочие вопросы 10 13.10.2003 10:43
Пробовал ли кто-нить использовать Axapta как COM-клиент? Andronov DAX: Программирование 3 18.03.2003 09:12
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:31 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.