ActiveX 클라이언트 애플리케이션 코드 개발
WebSphere® ActiveX to EJB 브릿지를 사용하여 엔터프라이즈 Bean에 액세스하려면 ActiveX Windows 프로그램(예: Visual Basic, VBScript, Active Server Pages)을 개발하십시오.
시작하기 전에
중요사항: 이 주제에서는 사용자가 ActiveX 프로그래밍에 익숙하고
Windows 플랫폼에서 프로그램을 개발 중이라고 가정합니다.
ActiveX 애플리케이션 클라이언트 및 ActiveX to EJB 브릿지의
프로그래밍 개념에 대한 자세한 정보는 ActiveX to EJB(Enterprise
JavaBeans™) 브릿지 주제 및 관련 항목을 참조하십시오.
ActiveX to EJB 브릿지에서 제공되는 정보를 좋은 프로그래밍 안내로 간주하십시오.
이 태스크 정보
프로시저
예
System.out 메시지 보기: ActiveX to EJB(Enterprise JavaBeans) 브릿지에는 Java System.out 메시지를 볼 수 있는 콘솔이 없습니다. 독립형 클라이언트 프로그램(예: Visual Basic)을 실행할 때 이 메시지를 보려면 파일로 출력 경로를 재지정해야 합니다.
다음 예제는
파일로 출력 경로를 재지정하는 방법을 보여줍니다.
launchClientXJB.bat MyProgram.exe > output.txt
- 서비스 프로그램(예: Active Server Pages)을 실행할 때 System.out 메시지를 보려면 Java System.out OutputStream 오브젝트를 FileOutputStream으로 대체하십시오. 예를 들어, VBScript에서는 다음과 같습니다.
'Redirect system.out to a file ' Assume that oXJB is an initialized XJB.JClassFactory object Dim clsSystem Dim oOS Dim oPS Dim oArgs ' Get the System class Set clsSystem = oXJB.FindClass("java.lang.System") ' Create a FileOutputStream object ' Create a PrintStream object and assign to it our FileOutputStream Set oArgs = oXJB.GetArgsContainer oArgs.AddObject "java.io.OutputStream", oOS Set oPS = oXJB.NewInstance(oXJB.FindClass("java.io.PrintStream"), oArgs) ' Set our System OutputStream to our file clsSystem.setOut oPS
데이터 유형 변환을 위한 헬퍼 메소드를 사용하는 ActiveX 클라이언트 애플리케이션입니다. 일반적으로, ActiveX(Visual Basic 및 VBScript)와 Java 메소드 간의 데이터 유형 변환은 ActiveX to EJB브릿지, 데이터 유형 변환에 설명된 대로 자동으로 발생합니다. 그러나 자동 변환이 가능하지 않는 경우를 위해 바이트 헬퍼 기능과 통화 헬퍼 기능이 제공됩니다.
- 바이트 헬퍼 기능 Java 바이트 데이터 유형은 부호가 있고(-127에서 128) Visual Basic 바이트 데이터 유형은 부호가 없으므로(0에서 255), 부호가 없는 바이트를 Java 부호 바이트처럼 Visual Basic 정수로 변환하십시오. 이 변환을 수행하기 위해 다음 헬퍼 기능을 사용할 수 있습니다.
Private Function GetIntFromJavaByte(Byte jByte) as Integer GetIntFromJavaByte = (CInt(jByte) + 128) Mod 256 - 128 End Function
- 통화 헬퍼 기능 Visual Basic 6.0은 Java 메소드가 할 수 있는 것처럼 64비트 정수를 (Long 데이터 유형으로) 적절하게 처리할 수 없습니다. 따라서 Visual Basic은 통화 유형을 사용합니다. 이것은 본래 64비트 데이터 유형입니다. 통화 유형(Variant 유형 VT_CY) 사용의 유일한 단점은 소수점이 유형에 삽입되는 것입니다. Visual Basic에서 64비트 Long 값을 추출 및 조작하려면 다음 예와 같은 코드를 사용하십시오. 통화 데이터 유형 변환을 위한 이 기법에 대한 자세한 내용은 Microsoft Knowledge Base의 Q189862, "HOWTO: VBA에서 64비트 산술 수행"을 참조하십시오.
' Currency Helper Types Private Type MungeCurr Value As Currency End Type Private Type Munge2Long LoValue As Long HiValue As Long End Type ' Currency Helper Functions Private Function CurrToText(ByVal Value As Currency) As String Dim Temp As String, L As Long Temp = Format$(Value, "#.0000") L = Len(Temp) Temp = Left$(Temp, L - 5) & Right$(Temp, 4) Do While Len(Temp) > 1 And Left$(Temp, 1) = "0" Temp = Mid$(Temp, 2) Loop Do While Len(Temp) > 2 And Left$(Temp, 2) = "-0" Temp = "-" & Mid$(Temp, 3) Loop CurrToText = Temp End Function Private Function TextToCurr(ByVal Value As String) As Currency Dim L As Long, Negative As Boolean Value = Trim$(Value) If Left$(Value, 1) = "-" Then Negative = True Value = Mid$(Value, 2) End If L = Len(Value) If L < 4 Then TextToCurr = CCur(IIf(Negative, "-0.", "0.") & _ Right$("0000" & Value, 4)) Else TextToCurr = CCur(IIf(Negative, "-", "") & _ Left$(Value, L - 4) & "." & Right$(Value, 4)) End If End Function ' Java Long as Currency Usage Example Dim LC As MungeCurr Dim L2 As Munge2Long ' Assign a Currency Value (really a Java Long) ' to the MungeCurr type variable LC.Value = cyTestIn ' Coerce the value to the Munge2Long type variable LSet L2 = LC ' Perform some operation on the value, now that we ' have it available in two 32-bit chunks L2.LoValue = L2.LoValue + 1 ' Coerce the Munge value back into a currency value LSet LC = L2 cyTestIn = LC.Value