게시판 본문 COM / COM+ by VB 6.0 - Read Only

송원석님 답변 정말 감사합니다.. 저에게는 재미있는(?) 일이기에 다시 글 올립니다. ^^*
작성자: 우기
작성일시: 2004-05-08 21:13,  조회수: 769
송원석님 답변 진심으로 감사드립니다.
저도 언재쯤 송원석님 처럼 이론이 기반된 진정한 프로그래머로 거듭날수 있을지.. 송원석님이 부럽기만 합니다. ㅜ_ㅜ;
사실 질문 글을올리기 전에 5일정도를 온갖곳을 해메고 다니면서 COM+ MTS와 ActiveX 등등등 무수히 많은 사이트들을 돌아봤습니다. 사실 wininet api를 이용해서 개발을 하려고 하는 프로젝트가 있는데 ASP는 상급수준이라 자부하지만 COM 쪽은 무지한지라 다른사람에게 쉽게 물어보지 못하고 혼자서 고민을 많이 했답니다...
이제부터 장문이 시작되겠네요.. ^^;;; 끝까지 읽어봐 주세요.. 저는 이것을 보고 정말 재미 있었답니다..
에고 사설이 길었네요.. 다름이 아니고요 간단한 셈플 소스를 작성해 봤습니다.
다음과 같이 코드를 작성하여 실행할 경우

※ COM+ Source
────────────────────────────────────
Option Explicit

Implements ObjectControl

' 기본 속성값 설정
Const mvar_def_ResponseText As String = ""
Private mvar_ResponseText As String

Private oContext As ObjectContext

Private Sub ObjectControl_Activate()
On Error GoTo On_Error

Set oContext = GetObjectContext
oContext.SetComplete
Exit Sub

On_Error:
oContext.SetAbort
Err.Raise Err.Number, Err.Source, Err.Description
End Sub

Private Function ObjectControl_CanBePooled() As Boolean
ObjectControl_CanBePooled = True
End Function

Private Sub ObjectControl_Deactivate()
Set oContext = Nothing
End Sub

' ** 테스트를 위한 속성값의 설정 및 반환 프로퍼티
'┌──────────────────────────────────┐
Public Property Get ResponseText() As Variant
ResponseText = mvar_ResponseText
End Property

Public Property Let ResponseText(ByVal vNewValue As Variant)
mvar_ResponseText = vNewValue
oContext.DisableCommit
End Property
'└──────────────────────────────────┘

※ Test ASP Source
────────────────────────────────────
<%

Set objTest = Server.CreateObject("prjTest.clsTest")

objTest.ResponseText = "테스트입니다. ^^"
Response.Write objTest.ResponseText

Set objTest = Nothing

%>

위와같이 테스트를 해보니 정상적으로 출력이 되었습니다. 위 소스에서의 핵심은 Let Property 에서의 oContext.DisableCommit 입니다. 자세한 이론적 내용은 잘 모르겠으나 EnableCommit과 DisableCommit 의 역활이 답변에 알려주신대로 실제 콤포넌트의 인스턴스는 소멸하였으나 컨텍스트에 해당 프로퍼티 값이 저장되는것이 아닐까 싶습니다. 이와같은 방법으로 COM+ 개발한다면 충분히 사용이 가능하지 않을까 하는 생각이 듭니다..
그렇지만 위의 소스에도 약간의 문제점이 있는듯 합니다. 아직 그 문제를 찾지는 못하고 있습니다. 기존에 코딩했던 내용들을 쭈욱 옮겨 붙여서 완료한뒤 컴파일하면 이전과 동일하게 일부 프로퍼티만 그 값을 전송하지 못하더라고요... 전체가 그런것은 아니고..

이 글을 적으면서 다시한번 한숨이 나오네요.. 저는 왜 송원석님처럼 조리있게 설명하지 못할까 하는 ㅜ_ㅜ 이는 무지에서 비롯된것이 아닐까하는.. 앞으로 더 공부해야겠다라는 생각도 듭니다. ^^

변경사항이 있다면 다시 글 올리도록 하겠습니다. 다른분들에게 약간이라도 도움이 될 수 있도록이요 ^^ 다른분들은 저와같은 고생 하지 않으시기를~ ^^

좋은하루 되세요.

IP 주소: 211.243.44.241
전체 276 건의 게시물, 12 페이지로 구성된 COM / COM+ by VB 6.0 게시판의 10 페이지입니다.
게시물
51

뉴스그룹에서 재미난 방법을 찾았습니다. [1]

zziuni

2004-10-20 6,213
50

이벤트 오류

홍완식

2004-08-21 3,193
49

re: 이벤트 오류

송원석

2004-08-21 3,181
48

트랜잭션 오류 문제

홍완식

2004-08-17 8,603
47

re: 트랜잭션 오류 문제

송원석

2004-08-18 3,708
46

해결방법 [1]

홍완식

2004-08-19 834
45

프로그램 배포

정보문

2004-07-29 3,094
44

re: 프로그램 배포

송원석

2004-07-29 2,913
43

아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

권민수

2004-05-21 3,730
42

re: 아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

송원석

2004-05-22 3,110
41

re: 아...3년전의 VB경험으로...서비스할 DLL을 만들라니...

권민수

2004-05-22 2,933
40

COM 개발시 Property Get 과 Let에 관해 알려주세요..

우기

2004-05-08 776
39

re: COM 개발시 Property Get 과 Let에 관해 알려주세요..

송원석

2004-05-08 3,192

송원석님 답변 정말 감사합니다.. 저에게는 재미있는(?) 일이기에 다시 글 올립니다. ^^*

우기

2004-05-08 769
37

re: 송원석님 답변 정말 감사합니다.. 저에게는 재미있는(?) 일이기에 다시 글 올립니다. ^^*

송원석

2004-05-08 3,236
36

따끔한 충고의말 정말 감사합니다. ^^ [1]

우기

2004-05-08 784
35

RDS 이용한 VBScript 문제입니다.

윤경민

2004-02-26 785
34

re: RDS 이용한 VBScript 문제입니다.

송원석

2004-02-26 3,210
33

[질문]com+ 프락시 사용 클라이언트 에러 발생!

궁금이

2004-02-01 982
32

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

송원석

2004-02-02 3,266
31

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

궁금이

2004-02-02 919
30

re: [질문]com+ 프락시 사용 클라이언트 에러 발생!

송원석

2004-02-02 3,082
29

RDS를 사용하여 사원인증을 쿼리하려고 하는데...

saint74

2003-11-03 3,479
28

re: RDS를 사용하여 사원인증을 쿼리하려고 하는데...

송원석

2003-11-03 3,495
27

감사합니다. 상세 구현 예상 방법입니다..

saint74

2003-11-04 3,424