C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[5179] Re:Re:메모리맵에 대한 질문입니다. ^^
AppleKiss [] 2884 읽음    2001-02-05 13:21
답변 너무너무 감사드립니다..
즐거운 하루 보내세요~



홍용혁 님이 쓰신 글 :
: FileMapObj 는 HWND가 아니라 HANDLE 입니다.
: 그리고 파일연동안할때는 NULL 이 아니라 0xFFFFFFFF 입니다.
: 그리고 전체적으로 소스를 수정했는데 다음과 같습니다.
:
: 앗... 그리고 타입이 integer 이기때문에
: Edit 컴포넌트 쓰신것은 테스트상 좋지 않군요.
: Edit에 영문등을 입력하면 에러가 납니다.
: CSpinButton 같은걸 이용하시면 좋을텐데...
: 그래서 이예제에서 테스트할때는 Edit에 숫자만 입력하십시오.
: 다른거 넣으면 에러날지도 모릅니다.
:
: //---------------------------------------------------------------------------
: #include <vcl.h>
: #pragma hdrstop
:
: #include "Unit1.h"
: //---------------------------------------------------------------------------
: #pragma package(smart_init)
: #pragma resource "*.dfm"
: TForm1 *Form1;
: HANDLE FileMapObj;
: //---------------------------------------------------------------------------
: __fastcall TForm1::TForm1(TComponent* Owner)
:     : TForm(Owner)
: {
: FileMapObj = CreateFileMapping(
:                 (HANDLE)0xFFFFFFFF,             // 파일 연동 안함.
:                 NULL,             // 보안문제 신경 안 씀.
:                 PAGE_READWRITE,   // 읽고 쓸 것임.
:                 0,                // 크기 상위 DWORD
:                 sizeof(int),      // 크기 하위 DWORD
:                 "WhatTheHeck"     // 메맵 파일의 이름
:         );
:
: }
: //---------------------------------------------------------------------------
:
: void __fastcall TForm1::FormDestroy(TObject *Sender)
: {
:     CloseHandle(FileMapObj);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
:         int *buf;
:         buf = (int *)MapViewOfFile(FileMapObj, FILE_MAP_WRITE, 0, 0, 0);
:         if(buf==NULL)
:         {
:             UnmapViewOfFile( (void*)buf );
:             CloseHandle(FileMapObj);
:             return;
:         }
:         *buf=Edit1->Text.ToInt();
:         UnmapViewOfFile( (void*)buf );
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm1::Button2Click(TObject *Sender)
: {
:         int *buf;
:         buf = (int *)MapViewOfFile(FileMapObj, FILE_MAP_READ, 0, 0, 0);
:         if(buf==NULL)
:         {
:             UnmapViewOfFile( (void*)buf );
:             CloseHandle(FileMapObj);
:             return;
:         }
:         ShowMessage(IntToStr(*buf));
:         UnmapViewOfFile( (void*)buf );
:
: }
: //---------------------------------------------------------------------------
:

+ -

관련 글 리스트
5173 메모리맵에 대한 질문입니다. ^^ Applekiss 3071 2001/02/05
5176     Re:메모리맵에 대한 질문입니다. ^^ 홍용혁 3138 2001/02/05
5179         Re:Re:메모리맵에 대한 질문입니다. ^^ AppleKiss 2884 2001/02/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.