AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.04.2004, 10:19   #1  
Tatka is offline
Tatka
Участник
 
1 / 10 (1) +
Регистрация: 01.11.2003
Проблема с activeX mscomm32
Всем доброго времени суток!
Очень нужна помощь - не могу никак разобраться...
Есть такое устройство - весовой терминал. Работает через Com-порт. Используется компонент ActiveX msmcomm32
В инструкции к терминалу пишется:
"в последовательный канал нужно послать команду 10H. В ответ на данную команду терминал выдаст строку из 9 байт символьного формата" - в котором и содержится нужная мне информация. То есть получается так - посылаешь на com-порт команду - обратно получаешь строку, в которой содержится вес.
Как это реализовать в аксапте - может кто нибудь подсказать? Как послать на com-порт команду? MSMComm.Output() - что в него нужно передать?
программа написанная на VB - все прекрасно работает.
Пытаюсь изобразить подобное в аксапте- ничего не работает...

код на VB:

Private Sub Command1_Click() //кнопка которая посылает команду на порт
MSComm1.Output = Chr(16)
End Sub

Private Sub DialButton_Click() // активизация ком-порта и ожидание информации
Dim Number$, Temp$
Dim X As Integer

DialButton.Enabled = False
QuitButton.Enabled = False
CancelButton.Enabled = True
MSComm1.Settings = "9600,N,8,1"
Status = " "

On Error Resume Next



MSComm1.PortOpen = True
If Err Then
MsgBox "COM: not available. Change the CommPort property to another port."
Exit Sub
End If
Label1 = "Порт открыт"

Do

MSComm1.InBufferCount = 0
Do
dummy = DoEvents()
If MSComm1.InBufferCount >= 9 Then

BUFFER$ = MSComm1.Input

Status = Mid$(BUFFER, 2, 7)

Print #1, Status
Close #1
Exit Do
End If
If CancelFlag Then
Exit Do
End If
Loop
If CancelFlag Then
CancelFlag = False
Exit Do
End If
Loop
Status = ""
Label1 = "Порт закрыт"
MSComm1.PortOpen = False

DialButton.Enabled = True
QuitButton.Enabled = True
CancelButton.Enabled = False
' Status = Temp$
End Sub
Старый 08.04.2004, 12:23   #2  
YVAS is offline
YVAS
1C
Аватар для YVAS
1C
 
265 / 10 (1) +
Регистрация: 31.07.2003
Интересно, как вы пытаетесь подобное изобразить в Ax?

Есть класс WinAPI. Он может работать с внешними DLL-ками, которых можно и реализовать доступ к COM порту.
Старый 08.04.2004, 14:57   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Судя по тому, что это ActiveX - это dll - ка реализует некий COM-сервер. Его и используйте - как работать с COM объектами в Аксапте здесь уже не раз писалось.

И потом - вы же этот код в VB не просто так пишете ? Скорее всего COM сервер был подключен в разделе References проекта VB.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Когда ActiveX отпускает документ? patron DAX: Программирование 8 26.12.2011 14:24
DAX 4.0 Проблема с ActiveX HTML Document skof DAX: Администрирование 0 22.07.2008 18:15
dax-lessons: Problem when creating a dynamic form with ActiveX control & Solution :) Blog bot DAX Blogs 0 30.04.2008 16:05
Как убить ActiveX компонет на форме Аксапты? Горбунов Дмитрий DAX: Функционал 1 29.11.2004 18:07
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 13:10.