Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        MsgBox("Ck")
    End Sub
End Class




일단 가난한 월급쟁이의 월급으로 휴대폰을 그리 자주 바꿀 수 있는 전자기기가 아닌지라,

가상PDA를 구동시켜 작업을 해봤습니다.

기본적으로 무언가의 개발을 위해선 맛배기로 Hello, World 를 찍죠.

전 저 단어를 굉장히 싫어합니다. 이유? 그런거 없습니다.

굳이 얘기하자면, 프로그래밍 초보자용 서적을 너무 많이 봐서 항상 초보라 생각하는 저에게 있어선

저 단어 찍는 설명이 너무나 저를 비참하게 만들었다고 할까요.

그리고 ck 간단하잖아요? ^^




한동안 헤맸던 Notify 설정

작업표시줄, 트레이아이콘으로 넘기기

인트라넷의 주요기능 및 고객센터 관리, MYM 계정조회 기능을 어플리케이션으로 개발

최소한의 동선과 시간으로 원하는 정보를 바로 조회가능 하도록 개발중입니다.

저에게 있어 어플리케이션 개발 노하우와 독립 프로젝트 경험

사내에 있어 편리함 및 시간 단축을 위해 개발을 시작합니다.

현재 인트라넷 계정으로 로그인, 출퇴근, 출퇴근 리스트 개발 완료되었습니다.

앞으로 각기 게시판과 고객센터, MYM 연동

기타 부가기능 추가

이런식으로 작업 계획입니다.

폼디자인 및 아이콘 디자인은 강지연 대리님께서 맡아주시기로 하셨습니다.




관심 가져주시기엔 모두가 바쁘시지만,

마음먹고 개발중인데 이왕이면 쓸모있는 프로그램이 됐으면 합니다.

원하시는 기능 및 추구하는 인터페이스가 있으시다면 추천해주시면 감사하겠습니다.

맛있는거 사드릴께요 ^^

New 키워드를 사용하여 클래스의 인스턴스가 만들어질 때 개체의 수명이 시작됩니다. 새 개체의 경우 일반적으로 처음에 사용하기 전에 초기화 작업을 수행해야 합니다. 일반적인 초기화 과정에는 파일 열기, 데이터베이스에 연결 및 레지스트리 키 값 읽기 등이 포함됩니다. Microsoft Visual Basic .NET에서는 생성자라는 프로시저를 사용하여 새 개체의 초기화를 제어합니다.

개체는 해당 범위를 벗어나고 CLR(공용 언어 런타임)에 의해 해제되면 그 수명이 끝납니다. Visual Basic .NET에서는 소멸자라는 프로시저를 사용하여 시스템 리소스의 해제를 제어합니다. 또한 생성자(초기화를 제어할 수 있는 특수 메서드) 및 소멸자는 강력하면서 예측이 가능한 클래스 라이브러리의 생성을 지원합니다.

Sub New 및 Sub Finalize

Visual Basic .NET에서 Sub NewSub Finalize 프로시저는 각각 개체를 초기화하고 소멸시킵니다. 두 프로시저는 이전 버전의 Visual Basic에서 사용된 Class_InitializeClass_Terminate 메서드에 해당합니다. 그러나 Sub New 생성자는 Class_Initialize와 달리 클래스가 만들어질 때 한 번만 실행될 수 있으며 같은 클래스나 파생 클래스로부터 다른 생성자의 첫 번째 코드 줄을 제외한 다른 위치에서는 명시적으로 호출될 수 없습니다. 또한 Sub New 메서드의 코드는 항상 클래스의 다른 코드보다 먼저 실행됩니다. Visual Basic .NET에서는 사용자가 클래스에 대해 Sub New 프로시저를 명시적으로 정의하지 않는 경우 런타임에 Sub New 생성자를 암시적으로 생성합니다.

CLR는 개체를 해제하기 전에 Sub Finalize 프로시저를 정의하는 개체에 대해 Finalize 메서드를 자동으로 호출합니다. Finalize 메서드에는 파일을 닫고 상태 정보를 저장하는 것과 같이 개체가 소멸되기 직전에 실행해야 하는 코드가 포함될 수 있습니다. Sub Finalize를 실행할 경우 성능이 다소 저하되므로 개체를 명시적으로 해제해야 하는 경우에만 Sub Finalize 메서드를 정의해야 합니다.

Finalize 소멸자는 속한 클래스나 파생 클래스에서만 호출될 수 있는 보호된 메서드입니다. 시스템에서는 개체가 소멸될 때 자동으로 Finalize를 호출하므로 파생 클래스의 Finalize 구현 외부에서 Finalize를 명시적으로 호출하지 않아야 합니다. 개체가 nothing으로 설정되는 즉시 실행되는 Class_Terminate와는 달리 개체가 범위를 상실하는 시기와 Visual Basic .NET에서 Finalize 소멸자를 호출하는 시기 사이에는 약간의 차이가 있습니다. Visual Basic .NET에서는 언제든지 명시적으로 호출하여 리소스를 즉시 해제할 수 있는 명명된 Dispose라는 다른 종류의 소멸자를 사용할 수 있습니다.

IDisposable 인터페이스

클래스 인스턴스는 주로 Windows 핸들 및 데이터베이스 연결과 같이 CLR에서 관리하지 않는 리소스를 제어합니다. 가비지 수집 기능을 보완하기 위해 클래스에서는 IDisposable 인터페이스를 구현하는 경우 시스템 리소스를 능동적으로 관리하기 위한 메커니즘을 제공할 수 있습니다. IDisposable에는 개체 사용이 끝났을 때 클라이언트에서 호출해야 하는 Dispose 메서드가 포함되어 있습니다. Dispose를 구현하면 리소스를 해제하고 파일 닫기 및 데이터베이스 연결 끊기 등과 같은 작업을 수행할 수 있습니다. Finalize 소멸자와 달리 Dispose 메서드는 자동으로 호출되지 않습니다. 리소스를 해제하려면 클래스의 클라이언트에서 Dispose를 명시적으로 호출해야 합니다.

가비지 수집 및 Finalize 소멸자

.NET Framework에서는 사용되지 않은 리소스를 주기적으로 해제하는 참조 추적 가비지 수집이라는 시스템을 사용합니다. 이전 버전의 Visual Basic에서는 참조 횟수라는 다른 시스템을 사용하여 리소스를 관리합니다. 두 시스템이 모두 자동으로 같은 함수를 수행하지만 몇 가지 중요한 차이점이 있습니다.

CLR는 시스템에서 특정 개체가 필요 없는 개체로 확인되면 해당 개체를 주기적으로 소멸시킵니다. 개체는 시스템 리소스가 부족하면 좀 더 빠르게 해제되고 그렇지 않은 경우에는 해제되는 빈도가 적습니다. 이전 버전의 Visual Basic 개체와는 달리 개체가 범위를 상실하는 시기와 CLR가 해당 개체를 해제하는 시기 사이에는 차이가 있으므로 개체가 소멸되는 시기를 정확하게 알 수 없습니다. 이러한 경우 개체가 명확하지 않은 수명을 가지는 것으로 간주됩니다. 대부분의 경우 개체가 범위를 상실하는 즉시 Finalize 소멸자가 즉시 실행되지 않을 수도 있다는 사실에 유의한다면 명확하지 않은 수명으로 인해 응용 프로그램의 작성 방법이 변경되지는 않습니다.

가비지 수집 시스템 간의 다른 차이점은 Nothing의 사용과 관련된 것입니다. 참조 횟수를 이용하려는 경우 이전 버전의 Visual Basic을 사용하는 프로그래머는 해당 변수가 보유하는 참조를 해제하기 위해 경우에 따라 개체 변수에 Nothing을 할당합니다. 변수가 개체에 대한 마지막 참조를 보유하는 경우 해당 개체의 리소스는 즉시 해제됩니다. Visual Basic .NET에서도 이 프로시저를 계속 유용하게 사용할 수는 있지만 이로 인해 참조된 개체가 해당 리소스를 즉시 해제하지는 않습니다. 변수를 Nothing으로 설정해야 하는 유일한 경우는 해당 수명이 가비지 수집기가 고아 개체를 검색하는 데 걸리는 시간보다 긴 경우입니다.


Parent 환경에서,        

        Form.session = session
        Form.MdiParent = Me
        Form.Show()

1.   NotifyIcon 개체를 폼에 추가한다.

2.   Load 이벤트 때 NotifyIcon 개체의 Visible 속성을 False, Closing 이벤트 때 넘어오는 e 변수의 Cancel 속성을 True로 하고 Form의 Visible 속성을 False로 바꾼다. 그리고 NotifyIcon 개체의 Visible 속성을 True로 바꾸면 됩니다.

3.   나중에 트레이 아이콘을 더블클릭할 때 폼을 다시 나타나게 하려면 NotifyIcon 개체의 DoubleClick 이벤트에서 Form의 Visible 속성을 True로, NotifyIcon 개체의 Visible 속성을 False로 바꾸면 됩니다.

Dim Hash As Byte() = _

new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(arg)

Dim i As Long

Dim RetStr As String = ""

For i = 0 To UBound(Hash)

    RetStr &= Format(Hash(i), "00")

Next

Return RetStr

출처 : http://blog.naver.com/gewehr43?Redirect=Log&logNo=100035915336

+ Recent posts