abap 조정 vb가 쓴 dll 전자 천평의 읽기 (컨트롤러 버전 포함)

4614 단어 abap
잔말 말고 바로 갑시다.
abap 조사 연구의 dll 파일은 wins에 등록해야 한다는 것을 감안하여delphi와 C#를 시도해 보았지만 기분이 좋지 않아 결국 의연히 VB를 선택하여 썼다
MScomm 컨트롤이 필요하기 때문에, 쓸 dll에 form을 가져와야 합니다. 그래야 컨트롤을 dll에 추가할 수 있을 것 같습니다.
단계:
1, 새 dll 프로그램, 창 추가
2,fromload에서com구 매개 변수 초기화
1
2
3
4
5
6
7
8 With   MSComm1          .CommPort = 1  ' Com1          .Settings = "1200,n,7,1"    ' 9600 、 、7 、1 .( :.Setting=”BBBB,P,D,S”。          .InBufferSize = 16  ' 40          .InputLen = 1  ' Input 1          .RThreshold = 1  ' OnComm          .PortOpen = True   End   With
3, 대응하는 포트 데이터를 써서 수락한다(이전에 포트 테스트 도구로 전송된 데이터 흐름을 테스트했기 때문에 아래 코드는 특정한 데이터 흐름에 대한 캡처일 뿐)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 On   Error   Resume   Next If   MSComm1.CommEvent = comEvReceive Then    If   MSComm1.InBufferCount > 0 Then     Rx_buff = MSComm1.Input     If   Rx_buff = "N"   Then   start = "S"     Constop = False     For   i = 0 To   UBound(Rx_buff)     If   start = "S"   Then     send = send & Rx_buff     If   Len(send) > 17 Then     Text1.Text = CDbl (Mid(send, 8, 10))     start = "E"     MSComm1.PortOpen = False     End   If     End   If     Next   i    End   If End   If
4, dll의class1에 함수 쓰기
1
2
3
4
5
6
7
8
9 Public   Function   show() Form1.str = "s" Form1.Caption = " " Form1.show vbModal End   Function
  Public   Function   sget() As   String sget = Form1.str & Form1.send End   Function
먼저 창을 빼고 포트 값을 가져오십시오
능력에 한계가 있기 때문에 테스트 중 창을 form에 영향을 주지 않고 숨길 수 없습니다load의 실행으로 인해 이 창이 나타날 수 있습니다
자, 이로써 from의 Mscomm 컨트롤을 호출하는 dll 파일을 작성했습니다.
5, dll 파일을 시스템32/syswow64에 저장
cmd 등록 dll 파일 실행하기
6,abap 호출
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 REPORT ZLYTEST_DLLTEST001. include ole2incl. data win32 type ole2_object. DATA SUM TYPE I. data label type string. create object win32 'lytest10.class1' . *create object win32 'TESTDLL' . call METHOD of win32 'show' . call method of win32 'sget'   = label.
 
  * 0   Successful processing of the method meth. * 1   Communication Error to SAP GUI. * 2   Error when calling method meth. * 3   Error when setting a property. * 4   Error when reading a property. *
 
  write label.
이로써 데이터를abap로 가져왔습니다. 그리고 이 수를 어떻게 조작하는지는 수요에 달려 있습니다.

좋은 웹페이지 즐겨찾기