창을열자
창을 열자 윈도우 오브젝트DBJECT의 관리
카드파일에서 오브젝트 임배당 시킨 화면
윈도우는 도스에서 멀티태스킹 환경을 제공하는 시스템이다. 즉, 동시에 여러개의 애플리케이션이 실행되거나 사용될 수 있으며, 따라서 윈도우 내에서 실행되는 애플리케이션 사이에서는 데이터를 전달하거나 공유SHARE할 수 있도록 클립보드라는 윈도우 프로그램이 기본적으로 제공된다. 따라서 윈도우 내에서는 클립보드를 통해 데이터를 쉽게 주고 받을수 있다. 특히 윈도우 3.1에서는 개체삽입이라는 말로 표현되는 오브젝트 임베딩OBJECT EMBEDING과, 개체공유로 표현되는 오브젝트 링킹이라는 새로운 데이터 교환 기법을 선보이게 되었다. 이 방법은 윈도우 3.0이나 그 이전의 버전에는 없는 것으로 구체적이고 강력해진 멀티미디어 데이터의 교환이나 삽입 등에 잘 어울리도록 되어있다.
윈도우에서의 데이터 공유 SHARE
윈도우 3.1에서는 클립보드를 이용하여 서로간에 데이터를 주고받거나 데이터를 공유할 수 있게 되었다. 그러나 윈도우에서 실행되는 모든 프로그램이 전부 데이터의 교환 기능을 가지지는 못한다. 문서작성기WRITE 혹은 페인트PAINTBRUSH 등과 같이 복사COPY, 자르기CUT, 붙이기PASTE 와 같은 명령어로 클립보드를 사용할 수 있는 프로그램들에서만 사용이 가능하다. 그러므로 사운드 레코더나 그밖의 모든 프로그램들을 무조건 데이터 공유를 시도해볼 수 없다. 윈도우에서 가장 쉽게 데이터 공유 기능을 찾아 볼 수 있는 것은 페인트와 문서작성기이다. 문서작성기는 일종의 워드프로세서로 다양한 형식의 문서를 작성하거나 편집, 또는 삽입할 수가 있으나, 그래픽 데이터는 작성할 수 없다. 이에 반해 페인트는 비트맵 형식의 그림들에 여러가지 효과를 낼 수 있고, 편집, 삽입이 가능한 반면, 문서의 편집 기능이나 그밖의 것들은 거의 준비되어있지 않은 것이다. 다시말해서 문서작성기는 그저 하나의 텍스트 에디터TEXT EDITOR에 불과하고 페인트는 비트맵 편집기이다. 그러나 윈도우의 데이터 공유 기능을 이용해 각각이 가지고 있는 단점들을 해결할 수 있다. 예를 들어, 문서작성기에서 문서를 작성하고, 페인트에서는 문서에 삽입될 그림을 그렸을 때, 사용자는 페인트에서 작성된 데이터를 문서작성기에 그 데이터를 전달하여 그림이 겯들어진 멋진 문서를 작성해 낼 수 있다. 앞에서 언급했듯이, 이들 두가지 프로그램 사이의 데이터 교환은 클립보드를 이용해 이루어진다. 페인트에서 작성한 데이터를 문서작성기에 전달하기 위해서는 페인트의 편집 메뉴에서 복사 명령을 이용하게 된다. 즉, 페인트에서 복사 명령을 이용해 필요한 영역만큼 절단해 내면 클립보드에 저장된다. 클립보드에 데이터가 한번 저장되었다면 윈도우 3.1에서 실행되는 모든 프로그램에서 이 내용을 사용할 수 있다. 클립보드에 저장된 내용을 현재 작업하고있는 영역에 가져오기 위해서는 다시 편집 메뉴의 붙이기를 이용하면 된다. 일반 그래픽 프로그램들 사이에서도 복사COPY, 자르기CUT 그리고 붙이기(PASTE0는 그림의 일부분을 오려내어 편집할때 쓰이는 명령어로 생소한 명령어는 아니리라고 본다. 그러면 다시 문서작성기에서 편집 메뉴의 붙이기 명령을 선택하면 방금 클립보드에 저장된 내용을 문서작성기의 작업영역으로 가져올 수 있다. 그러면 클립보드에 의해 전달된 데이터는 문서작성기에서 문자와 함께 작업 영역에 나타나게 된다.
개체OBJECT의 관리
앞에서 말한 클립보드는 윈도우 3.1 뿐만 아니라 윈도우 3.0에서도 지원되었던 기능이다. 하지만 윈도우 3.1에서는 좀더 활용범위를 넓힘으로서 데이터를 보다 편리하게 주고 받을 수 있게 되었다. 즉, 윈도우 3.1에서 실행되는 프로그램 사이의 데이터는 클립보드에 하나의 개체OBJECT로 만들어지게 되며, 다른 프로그램에서는 클립보드에 저장된 통일된 내용의 데이터 개체를 이용하여 자신이 원하는 데이터를 사용하게 된다. 그렇지만 윈도우 내에서 실행되는 모든 프로그램 사이에서 오브젝트 링킹이나 임베딩을 사용할 수는 없다. 이 기법은 오브젝트 링킹이나 임베딩을 사용하는 프로그램들 사이에만 이루어지는 기법인 것이다. 윈도우 3.1에서 개체관리 기법을 제공하고있는 프로그램은 서버 프로그램SERVER PROGRAM과 클라이언트 프로그램CLIENT PROGRAM으로 분류된다. 앞에서 언급한 것을 예로 든다면, 페인트에서 이미지를 만들었으므로 이미지에 한해 서버 프로그램은 페인트가 되고, 이 이미지를 사용한 문서 작성기는 클라이언트 프로그램이 된다.
서버와 클라이언트 프로그램
윈도우에 더욱 적합하게 제작된 도스 6.0이 발표되면서 흔히 듣게 될 용어는 바로 서버 프로그램이다. 이것은 오브젝트 링킹과 임베딩에 의해 데이터 개체를 생성하는 프로그램으로써, 윈도우 프로그램에서는 페인트와 사운드레코더SOUND RECORDER가 가장 대표적이라 할 수 있다. 클라이언트 프로그램이란 서버 프로그램에 의해 작성된 데이터 개체를 오브젝트 링킹과 임베딩에 의하여 이용하는 프로그램을 말하는데, 가장 대표적인 예로 윈도우 내에서는 문서작성기와 카드파일이 있다. 그러므로 문서작성기나 카드파일에서는 페인트나 사운드 레코더에서 생성된 그림과 음성 데이터를 오브젝트 링킹과 임베딩을 이용하여 사용할 수가 있다.
오브젝트 임베딩 OBJECT EMBEDING
클립보드에 저장된 데이터 개체의 사용방식에서 오브젝트 링킹과 임베딩, 두 방식의 차이가 나타나게 된다. 개체삽입으로 풀이되는 오브젝트 임베딩은 클립보드에 저장된 내용을 자신의 데이터 영역으로 가져와 사용하는 방법으로, 데이터 개체를 생성한 프로그램은 그 나름대로의 데이터를 가지고 있고, 다른 프로그램에서는 이런 데이터 개체를 이용하여 자신의 데이터 영역으로 가져오게 되는 것이다. 즉, 오브젝트 임베딩이 되면 동일한 내용의 데이터가 복제되는 것이다. 다시말해 서버프로그램에서 데이터를 생성하게 되고, 생성된 데이터 개체는 데이터의 복제를 거쳐 여러 프로그램에서 사용되게 되는 것이다. 위와같은 데이터 전달방법으로 여러가지 프로그램에 데이터를 가져오면 이 데이터는 클라이언트 프로그램에서 생성한 데이터가 아니므로 편집능력을 가지고 있다. 그러므로 데이터의 내용을 변경하기 위해서는 데이터를 삭제한 다음, 다시 작성하여 클립보드를 통해 모든 데이터 영역에 재저장되어야 한다. 하지만 오브젝트 링킹을 사용하면, 원본을 만든 서버 프로그램에서 수정작업을 하면 이를 이용한 클라이언트 프로그램에서 내용이 자동적으로 바뀌게 된다는 것이다.
오브젝트 링킹 OBJECT LINKING
개체공유라는 말로 해석할 수 있는 오브젝트 링킹은 데이터 개체를 생성한 프로그램에서 만들어진 데이터를 다른 프로그램에서 사용하는 방식으로, 클립보드에 저장되어 있는 데이터를 다른 프로그램들과 공유하며 사용하는 방법이다. 즉, 데이터 개체를 생성한 프로그램에서만 데이터를 가지고 있고, 다른 프로그램에서는 단지 이 데이터 개체를 참조하여 사용하는 방법이다. 그러므로 위에서 언급한 방법인 오브젝트 임베딩과 같이 데이터 개체가 또다시 생기는 것은 아니다. 오브젝트 임베딩은 동일한 내용의 데이터 개체를 사용하는 각각의 프로그램에 하나씩 ‘배당’이 되기 때문에 어느 하나를 수정한다 하더라도 다른 프로그램에 영향을 미치지 않는다. 왜냐하면 하나의 프로그램에서 그 데이터를 수정한다고 할때, 배당된 데이터까지의 영향력이 없기 때문이다. 하지만 오브젝트 링킹은 새 데이터 개체가 생성되는 것이 아니라, 이미 작성되있는 데이터를 ‘참조’할 따름이다. 그러므로 한개의 프로그램 상에서 데이터 개체의 내용을 변경하게 될때, 바뀐 데이터가 이를 이용하는 모든 프로그램에 반영된다.
그래픽 데이터의 OLE OBJECT LINKING and EMBEDING
① 그래픽 데이터의 오브젝트 임베딩
앞에서 말한 클라이언트 프로그램에는 문서작성기와 카드파일이 있고, 서버 프로그램으로는 페인트가 있다. 먼저 문서작성기에서 그림이 위치할 곳으로 화면의 커서를 움직인다. 그러나 카드파일에서는 언제나 카드 록록의 윗부분에 데이터가 위치하기 때문에, 화면의 커서를 움직이는 작업 대신, 그림 데이터 처리 작업을 표시하기 위하여 편집 메뉴에서 ‘그림PICTURE‘ 항목을 선택해야 된다. 그림 데이터를 모두 처리한 후에 문자 데이터를 입력하기 위하여 카드파일의 파일 메뉴에서 문자를 선택하여 텍스트 작업 상태로 카드파일의 동작상태를 변경시켜야 한다. 그 다음에는 편집 메뉴에서 ‘개체 삽입INSERT OBJECT‘을 클릭하면 윈도우에서는 현재 서버 프로그램으로 사용할 수 있는 윈도우 프로그램을 나타내는 다이얼로그 박스가 출력된다. 위 경우에는 그래픽 데이터를 처리하는 경우이므로, 다이얼로그 박스 내에서 페인트를 선택한다. 선택한 후에는 페인트의 윈도우가 나타나는데, 이때 원하는 그림을 작성하게 된다. 이 상태에서 새로운 그림의 생성도 가능하지만 이미 생성되어있는 데이터의 수정과 편집 등이 가능하다. 페인트에서의 모든 작업이 끝나면 파일 메뉴에서 ‘새로고침UPDATE‘를 선택한다. 이것을 선택하면 페인트의 작업영역에 있는 데이터가 문서작성기와 카드파일에 고스란히 복제된다. 따라서 사용자는 페인트의 작업영역에서 빠져나옴으로써 문서작성기와 카드파일의 작업영역으로 들어가게 된다. 문서작성기에서는 앞에서의 설명과 같이 커서가 위치하는 곳에 페인트의 그래픽 데이터가 나타나며, 카드파일에서는 화면의 가장 위쪽에 그림이 자리하게 된다.
② 임베딩된 데이터의 편집EDIT
오브젝트 임베딩OBJECT EMBEDING에 의해 첨가된 데이터는 자신의 데이터와 같은 데이터로 간주되어 윈도우에서는 자신의 필요에 의하여 데이터내용을 변경 혹은 수정할 수 있다. 예를 들어 카드파일에서 편집 메뉴의 그림PICTURE명령어로 임베딩된 데이터를 선택하면 데이터가 원래 작성된 페인트의 작업화면으로 가게 된다. 따라서 사용자는 페인트의 윈도우에서 필요에 따라 재생성 혹은 수정을 거친 다음, 다시 페인트의 파일 메뉴 내에서 ‘새로고침UPDATE‘명령어를 선택한다. 페인트를 종료시키면 문서작성기 혹은 카드파일의 필요한 작업을 계속해서 진행할 수 있다.
③ 그래픽 데이터의 오브젝트 링킹OBJECT LINKING
그래픽 데이터를 카드파일이나 문서작성기에 링킹시키기 위하여 사용자는 먼저 페인트를 실행시켜야 한다. 그 다음 여러 프로그램에서 공유될 데이터를 작성시키게 된다. 링킹될 데이터는 저장시켜서 파일로 만들어야 한다. 그 다음은 공유할 부분을 드래그하여 클립보드에 저장시킨다. 페인트를 사용하여 클립보드에 저장한 후에는 페인트의 실행을 종료시키고 문서작성기와 카드파일의 작업메뉴로 복귀한다.
④ 링킹LINKING된 데이터의 편집
링킹된 데이터의 편집은 앞절에서의 임베딩된 데이터의 처리 작업과 비슷하게 이루어진다. 그러나 전에 이야기 했듯이, 링킹된 데이터는 단지 하나의 파일로만 존재하게 된다는 점이 다르므로, 데이터의 임베딩과 다른 파일 메뉴의 저장 명령어로 관리한다. 그리고 데이터를 생성하는 방법은 같지만 데이터를 공유하는 방식만의 차이이므로, 문서작성기나 카드파일의 편집 메뉴에서 ‘연결하여 저장PASTE LINK‘명령어를 사용하게 된다. 이렇게 하면 페인트에서 만들어진 그래픽 데이터는 하나의 오브젝트로써 클립보드에 나타나게 된다. 두가지 방식은 저장방식의 차이만을 나타낼 뿐 데이터를 교환하는데 비슷한 방법을 가지고 있다.
윈도우 프로그램 오브젝트 패키지WINDOWS PROGRAM OBJECT PACKAGRER
윈도우 3.1에서 프로그램에서 생성한 데이터를 아이콘으로 표시하는 것을 오브젝트 패키지가 표현되는 데이터 같이 하나의 독립된 패키지로 만들어 주는 것이 윈도우의 보조프로그램에 있는 개체포장기OBJECT PACKAGER의 역할이다. 개체포장기를 실행시키게 되면 두개의 윈도우가 화면에 나타난다. 윈도우는 각각 아이콘 모양APPEARANCE, 목차CONTENTS라는 이름을 가지고 있다. 이것을 이용해서 사용자는 사운드 레코더, 페인트 등에서 작성된 데이터를 하나의 패키지PACKAGE로 만들수 있다.
데이터 전체를 패키지화 하는 방법
오브젝트 패키지를 사용하여 페인트, 사운드 레코더 등과 같은 프로그램에서 작성된 하나의 데이터 파일을 패키지화 할 수 있는데, 우선 마우스나 <TAB> 키로 옥차 윈도우를 활성화 시켜야ACTIVE 한다. 활성화시킨 후 파일 메뉴의 ‘읽어오기’ 명령어를 선택한다. ‘읽어오기’를 선택하면 패키지로 만들 파일을 알아내기 위하여 다이얼로그 박스를 출력하게 된다. 이때 사용자는 파일을 선택하고 OK를 클릭하면 사용자가 선택한 파일을 하나의 패키지로 만들어 아이콘 모양 윈도우에는 아이콘이, 목차 윈도우에는 파일 이름이 나타난다. 이때 아이콘 모양 메뉴에 나타나는 아이콘은 데이터가 생성된 프로그램의 아이콘과 같게 나온다. 가령, 문서작성기에서 작성된 데이터라면, 펜촉 모양의 아이콘이 나올 것이고, 페인트의 데이터라면 미술용 팔레트 모양의 아이콘과 파일 이름이 나타난다. 그러나 사용자는 개체포장기의 ‘아이콘 삽입INSERT ICON‘ 명령을 이용하여 자신이 원하는 모습으로 아이콘을 바꿀 수도 있다. 패키지로 만들어진 데이터를 다른 프로그램에 전달하기 위해서 편집메뉴의 ‘복사COPY PACKAGE‘를 이용한다. 이런 과정을 거친 후에는 패키지가 클립보드에 저장되어 다른 프로그램에서 ‘붙여넣기’를 이용해 사용할 수 있다. 다른 프로그램에 패키지를 전달시키면 데이터 대신에 오브젝트 패키지의 아이콘이 보이게 된다.
데이터의 일부분을 패키지화 시키는 방법
페인트나 사운드 레코더의 데이터 일부분을 패키지로 만들려면, 제일 먼저 패키지로 만들려는 부분을 잘라CUT 클립보드에 저장시켜야 한다. 클립보드에 저장되면 개체포장기의 목차 메뉴를 활성화시켜야 한다. 활성화 시킨 후에는 편집 메뉴의 붙여넣기 또는 연결하여 붙여넣기를 선택하면 된다. 이 과정이 끝나면, 클립보드에 저장되어 있는 데이터가 하나의 패키지화 되어 개체포장기의 윈도우에 나타나게 된다. 이렇게 만들어진 데이터를 OLE 기법에 의해 전달하기 위해서는 본 프로그램의 편집 메뉴에서 복사 명령을 사용한다. 이렇게 하면 패키지의 내용이 클립보드에 저장이 되기 때문에 다른 프로그램에서 앞절의 방법과 같이 붙여넣기를 이용하여 각각의 프로그램 데이터 영역에 도입하여 사용할 수 있다. 이렇게 클립보드를 이용 도입된 데이터는 데이터의 내용 대신에 패키지로 만든 아이콘이 나타나게 된다. 멀티미디어 분야가 계속 발전하면 할수록 윈도우의 필요성은 더욱 높아지고 있다. 머지않아 윈도우 없이는 컴퓨터 사용이 불가능할 날도 그리 멀지 않으리라 본다.
데이터를 패키지화 하여 문서에 삽입한 화면