2014-03-05 9 views
0

나는이 두 응용 프로그램
첫 번째 내가 처음 하나를 실행하고 두 번째데이터 교환이 사이에 응용 프로그램

에 업데이트 된 상태를 유지하려는 VB.NET

와 두 번째 C 를 사용하여 프로그래밍입니다 그걸 할 방법이 있니?

나는 그들 중 하나의 소스 코드를 변경할 수 있습니다

+0

당신은 두 프로그램 사이에 데이터를 전달하거나 데이터가 데이터베이스와 같은 저장 장소가 그 둘 에서 읽을 수 있습니까? 한 프로그램에서 다른 프로그램을 호출합니까? 그들은 둘 다 동시에 운영되고 있고 서로 "말하는"일종인가? – user2721815

+0

데이터베이스가 없습니다. 예, 두 번째 호출은 다른 호출, 두 개는 동시에 실행됩니다. –

+0

VB에서 인터페이스를 사용하여이 작업을 수행했습니다. C에서 같은 일을 할 수 있는지 모르겠습니다. – user2721815

답변

0

확인을 시작하는 장소 수 두 프로그램 사이의 인터페이스로 매개 변수를 전달할 수 있습니다.

Dim oType As System.Type 
Dim oAssembly As System.Reflection.Assembly 
Dim oObject As System.Object 

oAssembly = Reflection.Assembly.LoadFrom("C:\VB.NET\report3.exe") 
oType = oAssembly.GetType("report3.r1") ' this is [root_namespace.class name] 
oObject = Activator.CreateInstance(oType) 
oObject.SetParams("a", "b") 
oObject.show() 

이 실행 report3.exe가 발생합니다

  • 은 "시스템"나는이 설정
  • 프로그램 1에서

(호출 프로그램) "하는 System.Reflection"를 가져와야 값으로 "a"및 "b"매개 변수를 보냅니다.

그런 다음 program2에 (report3.exe), 나는 아래와 같이 설정

Imports System.Reflection 

Public Class r1 

    Implements IPlugin 

    Public person As String = "" 
    Public address As String = "" 


    Private Sub r1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load 

     Me.TopMost = True 'optional 

     Dim b1 As New Label() 
     With b1 
      .Location = New Point(10, 10) 
      .Width = 200 
      .Height = 20 
      .Parent = Me 
      .BackColor = Color.Blue 
      .ForeColor = Color.White 
      .Text = person 
     End With 

     call_addr() 
    End Sub 


    Public Sub SetParams(c As String, d As String) Implements IPlugin.SetParams 
     person = c 
     address = d 
    End Sub 

    Private Sub call_addr() 
     Dim b2 As New Label() 
     With b2 
      .Location = New Point(10, 50) 
      .Width = 200 
      .Height = 20 
      .Parent = Me 
      .BackColor = Color.Red 
      .text = address 
     End With 
    End Sub 

End Class 


Public Interface IPlugin 
    Sub SetParams(ByVal c As String, ByVal d As String) 
End Interface 
+0

네, 고마워요! –