VB6의 새로운 WebClass 기술을 사용하면 유연하고 강력한 인터넷 기반 응용 프로그램을 쉽게 만들 수 있습니다. 올해 초 우리는 사용자가 귀하의 페이지를 방문하고 소프트웨어 제품에 등록할 수 있는 등록 응용 프로그램을 작성하는 방법을 보여 주었습니다. 사용자 등록 클래스, " VBPJ 1998년 4월 및 "서버에 전자 메일 등록 추가", VBPJ 1998년 5월]. 등록 후 응용 프로그램은 전자 메일 번호를 통해 사용자에게 시퀀스를 보내고 웹에 대한 연결이 존재합니다. 앞서 보여드린 VB5 응용 프로그램은 웹 서버에서 실행되는 ActiveX DLL과 사용자의 상태를 확인하고 해당 DLL을 적절하게 호출하는 DLL을 생성했습니다(Active Server Page). 새로운 기술인 WebClass를 사용하여 이러한 유형의 애플리케이션을 작성하기 위한 새로운 수단입니다.
즉, WebClass는 웹 서버 DLL에서 실행되는 ActiveX입니다. 이를 통해 클라이언트 브라우저의 HTML 페이지 하이퍼링크를 통해 서버 DLL의 이벤트를 활성화할 수 있습니다. WebClass의 프로그래밍 모드는 기존 VB 모드와 유사합니다. 차이점은 VB에서는 양식에 컨트롤이 포함되어 있는 반면 WebClass 응용 프로그램은 서버 측에서 개발자가 컨트롤을 포함하는 웹 페이지라는 것입니다. 완전한 VB 이벤트 모델을 통해 대화형 웹 개발이 수행될 수 있습니다. 이 칼럼에서는 간단한 WebClass 응용 프로그램을 만드는 방법을 설명하여 간단한 WebClass 응용 프로그램을 만들
려면 VB6을 시작하고 선택해야 합니다
.새 프로젝트 대화 상자에서 IIS 응용 프로그램을 속성 창에서 SimpleReg로 지정합니다. 브라우저에서 프로젝트 WebClass Designer를 두 번 클릭합니다. 속성 창에서 프로젝트 브라우저를 볼 수 있습니다. , WebClass 이름을 wcSimple로 지정하고 NameURL 속성에 SimpleReg를 입력합니다. 이는 ActiveX DLL을 컴파일할 때 생성됩니다. SimpleReg.asp라는 이름의 시작 파일입니다.
WebClass 응용 프로그램은 HTML 템플릿을 사용하여 사용자 브라우저에 HTML을 표시합니다. VB6에는 HTML 편집기가 포함되어 있지 않으므로 VB6 외부에서 HTML 템플릿을 만들어야 합니다(VB6의 DHTML 디자이너는 WebClass와 전혀 관련이 없습니다). 모든 HTML 편집기가 있지만 Visual Studio에는 Visual InterDev(VID) 6.0이 포함되어 있으므로
VB6의 도구|옵션 메뉴에서 Visual Studio를 Visual Basic용 기본 HTML 편집기로 설정합니다. 다음 Visual InterDev 경로 - C:Promram FilesMicrosoft Visual StudioCommonIDE|IDE98Devenv.exe를 외부 HTML 편집 상자에 추가하면 Visual InterDev에 프로젝트용 템플릿 파일을 만들도록 알립니다. WebPage.htm이라고 하면 InterDev는 Web1Page.htm이라는 복사본을 만듭니다. 메모장이나 다른 편집기를 사용하여 템플릿을 만드는 경우
루틴 코드에서 SimpleReg.htm 파일은 Visual에서 만든 템플릿입니다
.InterDev WebClass 디자이너의 왼쪽 창에서 HTML 템플릿 WebItem 폴더를 선택합니다. 다음과 같이 SimpleReg 템플릿을 프로젝트에 추가할 수 있습니다. AddHTML 템플릿 WebItem 버튼을 클릭하고 파일 선택 대화 상자에서 SimpleReg.htm 파일 선택을 클릭합니다. 상자(그림 1 참조) 새 WebItem의 이름을 tplSimple로 두 번 클릭하여 WebClass에 대한 코드를 확인하고 원래 생성된 코드를 다음 코드로 바꿔 WebClass를 로드할 때 템플릿을 표시합니다
. )
'기본 HTML 템플릿 www.downcodes.com 표시
Session("Title") = "귀하의 정보를 입력하세요" & "등록 정보"
tplSimple.WriteTemplate
End Sub
WebClass_Start 프로세스는 기존 VB 애플리케이션의 Form_Load 프로세스와 유사합니다. 프로그램을 실행하고 브라우저에 표시되는 HTML 페이지를 확인합니다. 브라우저를 종료하고 VB 애플리케이션을 종료합니다. WebClass 메서드)
WebClass Designer에서 tplSimple WebItem을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 HTML 템플릿 편집을 선택하면 기본 HTML 편집기에 템플릿 페이지가 표시됩니다. 다음 형식의 태그라고 하는 세 가지 특수 부분으로 구성된 페이지:
< WC@TAGTITLE>제목</WC@TAGTITLE >
이러한 태그의 텍스트 부분("제목")은 런타임 시 사용자에 의해 변경됩니다. WebClass에 추가된 코드는 대체됩니다. WriteTemplate 메소드가 실행되면 HTML 템플릿에 있는 각 태그에 대해 ProcessTag라는 특수 프로시저가 호출됩니다. VB로 돌아가서 코드 창에서 tpSimple_ProcessTag 프로세스를 선택합니다. 위쪽 콤보 상자에 다음 코드를 추가합니다:
Dim sHTM As String
사례 태그 이름 선택
케이스 ' WC@TAGTITLE '
TagContents =세션("제목")
케이스 ' WC@TAGMAIL '
sHTM = "이메일 주소 입력:<br>"
sHTM = sHTM & "<입력 유형= '텍스트'"
sHTM = sHTM & " 이름= '이메일'><br>"
TagContents = sHTM
케이스 ' WC@TAGNAME '
sHTM = "이름:<br>"
sHTM = sHTM & "<입력 유형= '텍스트'"
sHTM = sHTM & " name= '이름'><br>"
TagContents = sHTM
End Select는
태그를 대체하기 위해 TagContent 매개변수에 HTML 코드를 반환합니다. WebClass_Start 프로시저에 WriteTemple을 추가하고 애플리케이션을 실행하여 이벤트 순서를 확인합니다. ProcessTag 프로시저가 템플릿의 각 태그에 대해 한 번씩 세 번 호출되는 것을 볼 수 있습니다. 정말 멋진 점은 런타임에 프로시저가 브라우저에 텍스트 상자를 생성하는 HTML을 사용한다는 것입니다. 이름 태그
서버 측 이벤트 코드를 대화형으로 디버깅할 수 있다는 것은 VB를 사용하여 WebClass 응용 프로그램을 개발할 때의 매우 강력한 기능 중 하나입니다. VB5 웹 개발에서는 ASP 스크립트의 VBScript를 디버깅할 수 없습니다. ASP 스크립트에서 대화형으로 실행 가능한 유일한 방법은 오류를 범하고 다시 시도하는 것입니다. 그러나 VB6에서는 모든 서버 측 코드가 WebClass에서 실행되며 대화형 디버깅을 위해 VB의 우수한 디자인 환경을 사용할 수 있습니다.
이 간단한 응용 프로그램의 다음 단계입니다
.
양식에 Register Me 버튼에 대한 이벤트 처리 코드를 추가하는 것입니다. VB의 WebClass 디자이너로 돌아가서 tplSimple WebItem을 클릭하면 페이지의 HTML 멤버 목록이 표시되며 이벤트와 연결할 수 있습니다. Form1 태그를 마우스 오른쪽 버튼으로 클릭하고 Connect to Custom Event 메뉴 항목을 선택한 다음, Target 열의 Form1 Event 이름 옆에 있는 HTML 템플릿을 살펴보세요(tplSimple을 마우스 오른쪽 버튼으로 클릭하고 HTML 템플릿 편집 선택). . 양식의 멤버를 찾으십시오.
<FORM method = 'post' action = WCI=tplSimple_
&WCE=RegisterMe&WCU>
SimpleReg.asp는 특수 ActiveXDLL 시작 스크립트입니다. 물음표 뒤의 값은 WebClass Item(WCI)이 tplSimple, WebClass Event(WCE)가 RegisterMe, WebClass URLData(WCU)가 비어 있음을 나타냅니다. 사용자가 브라우저에서 Register Me 버튼을 클릭하면 이 줄은 ActiveX 서버 DLL의 tplSimple_RegisterMe 버튼을 활성화합니다. 이러한 방식으로 양식의 활동은 서버측 이벤트에 연결되지만 하이퍼링크를 설정할 수 있습니다. WebClasses는 웹 응용 프로그램 개발에 마법처럼 작동합니다. 이는 VB의 이벤트 중심 프로그래밍을 브라우저 기반 응용 프로그램으로 확장하여
VB 디자이너의 왼쪽 창에 있는 RegisterMe 이벤트를 두 번 클릭하여 코드를 표시합니다. 이벤트에 다음 코드를 추가합니다:
If Len(Request.Form("Email")) = 0 Then
Session("Titile") = "제발" & "이메일 주소를 입력하세요!"
세션("이메일") = ""
세션("이름") = ""
또 다른
Session("Title") = "여기에 있습니다" & "귀하의 항목입니다!"
Session("이메일") = Request.Form("이메일")
Session("이름") = Reuquest.Form("이름")
종료 조건
TplSimple.WriteTemplate
Request.Form은 브라우저 페이지에서 데이터를 반환하는 표준 방법으로, 일부 세션 변수를 설정하고 If 문에 중단점을 설정하고 프로젝트를 실행합니다. Register Me 버튼을 클릭하면 제목이 새로 고쳐졌으나 텍스트 상자가 비어 있는 것을 볼 수 있습니다. 이는 템플릿 작성 시 해당 값을 입력하지 않았기 때문입니다.
프로세스(DevX에서 목록 1 다운로드, 자세한 내용은무료
코드 다운로드 상자 참조) 세션 변수를 기반으로 텍스트 상자에 값을 할당하고
데이터 액세스에 ADO를 사용합니다
.데이터베이스에서 합계를 저장하고 저장하는 방법 간단히 하기 위해 Microsoft Acess 97을 데이터베이스로 사용하고 이름을 Register.mdb로 지정합니다. , 각각 이메일 및 이름을 지정하고 이를 디스크에 저장합니다. Acess에서 고유 인덱스 필드를 생성하라는 메시지가 표시되면 확인을 선택하고
프로젝트에서 Microsoft ActiveX를 추가합니다. 데이터 개체 라이브러리 참조는 Project|Reference에서 찾을 수 있습니다.... ADO 라이브러리 버전 1.5 또는 2.0을 사용할 수 있습니다. ADO 라이브러리가 설치되어 있지 않으면 Microsoft 사이트(http:/)에서 다운로드할 수 있습니다. /www.microsoft.com/data /ado에서 MDAC2.0 설치 툴킷을 다운로드합니다. tplSimple.RegisterMe 프로세스에서 코드를 변경합니다(DevX에서 목록 2 다운로드, 자세한 내용은 무료 코드 다운로드 상자 참조)
. 그런 다음 ADO 레코드 세트를 열고 이메일 주소를 찾으십시오(DevX에서 목록 3 다운로드).
발견되지 않으면 코드가 새 레코드를 추가합니다. 함수는 연결 문자열을 설정합니다.
private Function Connect() As String
'ADO 연결 문자열을 반환합니다.
Const kDB = "DBQ=c:register.mdb;"
Const kDrv = "드라이브={Microsoft" & "Acess 드라이버(*.mdb)}"
연결 = kDB & kDrv
End Function
tplSimple_RegisterMe에 중단점을 설정하고, 프로그램을 실행하고, 데이터 액세스 코드가 어떻게 작동하는지 확인하세요. 이 간단한 예는 ADO의 프로그래밍이 얼마나 간단한지 보여줍니다. 모든 "실제" 응용 프로그램에는 오류 처리가 포함되어야 합니다. 일반적으로 등록을 사용하여 연결 문자열 정보와 같은 변수를 저장하고 레코드를 새로 고치고 불필요한 레코드를 삭제하는 방법을 제공해야 합니다.
프로젝트를 컴파일할 때 가장 먼저 다음과 같은 두 가지 일이 발생합니다. VB의 모든 ActiveX 프로젝트에서는 개발 컴퓨터에 ActiveX DLL 레코드가 생성됩니다. 두 번째는 NameInURL 속성에 지정된 이름으로 명명된 특수 ASP 시작 파일이 생성된다는 것입니다. 파일의 이름은 SimpleReg.asp입니다. 사용자가 브라우저에 파일의 URL을 입력하면 IIS는 SimpleReg.wcSimple WebClass의 인스턴스를 생성합니다. 어떤 상황에서든
사용자의 관점에서 WebClass 버전의 애플리케이션을 등록하는 것은 1998년 5월에 표시된 시리즈와 유사합니다. 이 시리즈의 코드는 이제 모든 코드가 WebClass와 실행된 ASP 파일에는 사용자 정보가 포함되어 있지 않습니다.
주의 사항
이전과 이후의 응용 프로그램을 비교하면 WebClass가 어떻게 작동하는지 일관되게 이해해야 합니다. 그러나 여전히 웹 응용 프로그램을 WebClass로 즉시 변환하는 것을 꺼릴 수 있습니다. 응용 프로그램을 변환하는 데는 상당한 시간이 걸리지만 그렇게 하면 실질적인 이점이 있기 때문에 이를 수행해야 합니다. 예를 들어, WebClass를 사용하면 이전에는 불가능했던 방식으로 응용 프로그램을 만들거나 확장할 수 있습니다
. 인터넷 응용 프로그램 개발을 위한 도구 세트입니다. 물론 VB5로 개발된 웹 응용 프로그램도 가능하지만 ASP 스크립트가 제한 없이 VB DLL과 올바르게 상호 작용하도록 하려면 많은 작은 프로그래밍 트릭을 사용해야 합니다. VBScript에는 진정한 이벤트 기반 프로그래밍 환경이 부족하지 않습니다. WebClass는 VB가 웹 개발에 완전한 기능을 제공하도록 해줍니다. 이는 좋은 일입니다.