Q&A

  • 메모리 맵핑 .. 문자열로 하면 에러가 나네요...
안녕하세요.
두개의 어플중 하나는 공유메모리에 쓰구요 다른하나는 읽는데요...
정수형으로 할땐 제대로 되는데요 문자열로 하니깐
메모리 에러가 나네요...  

*****************************************************
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileMapObj2 := CreateFileMapping($FFFFFFFF,nil ,
  PAGE_READWRITE,0,SizeOf(string),'MappingArea');
end;
***********************************************************
procedure TForm1.Button1Click(Sender: TObject);
var
strP : Pstring;
begin
strP := MapViewOfFile(FileMapObj, FILE_MAP_WRITE, 0, 0, 0);
try
   ShowMessage(strP^);
finally
   UnMapViewOfFile(strP);
end;
end;
*****************************************************************
MapViewOfFile은 헬프를 보니깐 return이 매핑된 값의 메모리 시작번지를
리턴한다구 되있는데..  그럼 어떻게 정수로 할땐 값이 제대루 오나요??
문자열로 공유메모리를 써야 되는데요...  에구.. 너무 부족한지라 안되네요.
가르침 부탁드리겠습니다.

그리구... 혹시.. String말구..  List나 stringList로 할수있는 방법두 부탁드리겠습니다..  

1  COMMENTS
  • Profile
    최용일 2002.08.21 06:11
    안녕하세요. 최용일입니다.

    string은 객체와 비슷한 성격을 가지고 있어요. string자체가 하나의 포인터입니다. 좀 특별한... string대신에 AnsiString이나 PChar를 쓰세요...

    SizeOf(string)는 항상 4바이트라는것 참조하시구요...

    메모리맵파일은 데이터를 공유하는 것이지 객체를 공유하는 것이 아니기 때문에 TList, TStringList같은 것은 쓰지 못합니다.

    FileMapObj2 := CreateFileMapping($FFFFFFFF,nil ,
        PAGE_READWRITE, 0, 256, 'MappingArea'); // Size = 256

    procedure TForm1.Button1Click(Sender: TObject);
    var
        Buf: array[0..255] of Char; // = PChar = zero-based characters
    begin
        Buf := MapViewOfFile(FileMapObj, FILE_MAP_WRITE, 0, 0, 0);
        try
            ShowMessage(string(Buf));
        finally
            UnMapViewOfFile(Buf);
        end;
    end;

    ^^ 항상 즐코하세요...

    • DevYang
    • 2002.08.21 23:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      2002.08.31 19:19
      안녕하세요? 아래 예제 코드는 퀀텀그리드에서 선택된 데이터만 CVS파일로 만드는 예제입니다. pro...
    • 한원희
      2002.08.21 23:43
      안녕하세요. 한원희입니다. 정렬관련 옵션으로, 오른쪽 정렬로 출력하란 의미죠. 기본 정렬은 왼쪽이거...
    • 델파이사랑
      2002.08.21 23:44
      근데여..... procedure TForm1.Button3Click(Sender: TObject); begin     Label...
    • ㄴ ㅏ ㅁ ㅑ
      2002.08.22 00:37
      기본이 왼쪽정렬이라면 %-20s 한 문자는 오른쪽 정렬이여야 하고 % 20d 한 숫자는 왼쪽 정렬이 되는게 맞...
    • 델파이사랑
      2002.08.22 01:44
      알아냈습니다....... 1) 우선... %-20은 왼쪽정렬이고. %20은  오른쪽정렬입니다. 2) ...
    • 김진석
    • 2002.08.21 21:58
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 나옹이
      2002.08.21 22:03
      showmessage(edit1.Parent.Name);
    • 김헌대
    • 2002.08.21 21:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.08.21 22:30
      hsr//////////////////////////////////////////////////////// 위에건 마우스 우측클릭시 포커스 가져오...
    • 김호규
    • 2002.08.21 21:10
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김재환
    • 2002.08.21 21:01
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김재환
      2002.08.22 18:57
      그극....^.^! length라는 함수는 델파이에서 문자수를 반환하는 함수..있고요.. mdb에서는 쿼리문에서는 ...
    • 임형호
      2002.08.21 22:21
      mdb는 잘 모르겠는데요. length 라는 함수가 있나요? 다른문장은 SQL 기본적인 문장이니...에러 날것은 없...
    • 임상현
    • 2002.08.21 21:00
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이상협
    • 2002.08.21 18:35
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2002.08.21 22:27
      테스트를 해봐야되는데.. 에궁.. 정확한지는 테스트를 직접해보세요. 우선 edit를 하긴했는데.. 다...
    • 김진태
    • 2002.08.21 18:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이현철
      2002.08.21 18:32
      자료실을 검색하시면, Ping 소스가 많이 공개되어 있습니다. 저는 ICS 컴포넌트 팩의 Ping 컴포넌트를 사...
    • 나옹이
    • 2002.08.21 09:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.08.22 04:38
      hsr///////////////////////////////////////////////// 재귀호출은 최용일님것 사용하구요 Treeview1,Tr...
    • 델사랑
    • 2002.08.21 09:08
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이상현
    • 2002.08.21 07:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 안익환
      2002.08.21 20:42
      도움만 얻었던 제가 답변을 할거리가 생겨서 다행이군요 ^^; 아직 허접입니다만 마소에서 보니 공개형 ...
    • ^ㅡ^
      2002.08.21 06:00
      //답변이 될런지 모르겠습니다. 페이지헤더를 사용하세요 그람 매 페이지마다 나옵니다
    • 미러
      2002.08.21 18:52
      그럼 grouptitle밴드도 마찬가지 인가요? 마찬가지로 한번만 출력이 되는건지 아니면 여러번 출력할수 있...
    • 꿀그림자
      2002.08.22 20:02
      title을 pageheader의 child 밴드로 만들어서 출력하면 pageheader랑 같이 페이지마다 출력된답니다. 도...
    • 탁정석
    • 2002.08.21 05:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.08.21 05:45
      hsr///////////////////////////////////////////////////////// 아래 두함수중하나를 사용해보세요 &nbs...
    • 탁정석
      2002.08.22 01:34
      답변 감사합니다...ㅠ,.ㅠ 그런데, jpg나 gif로 저장하는 방법은 따로 없나요?
    • 홍성락
      2002.08.21 05:25
      hsr///////////////////////////////////////////////////////////// 델파이가 설치된 폴더에서 Demos폴더...
    • 김경남
      2002.08.21 18:39
      감사합니다. ^^
    • 전병호
    • 2002.08.21 04:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.21 06:11
      안녕하세요. 최용일입니다. string은 객체와 비슷한 성격을 가지고 있어요. string자체가 하나의 포인터...
    • 조걸
    • 2002.08.21 03:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.21 03:49
      안녕하세요. 최용일입니다. 컴포넌트는 토리사이트같은데서 검색해보시면 있을겁니다. http://www.ef...
    • 조걸
    • 2002.08.21 03:39
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2002.08.21 03:53
      안녕하세요. 최용일입니다. 직접 객체를 올려놓든지 동적으로 생성해서 연결하든지 별다른 차이는 없습...
    • 조걸
      2002.08.21 03:59
      아 지송한디영..그럼 좀 구체적으로... var   NewC: TYShape;   PropInfo:PPropInf...
    • 최용일
      2002.08.21 06:00
      안녕하세요. 최용일입니다. 흠~ RTTI를 왜 사용하시는지 이유를 잘 모르겠네요... 그냥 형변환해서 ...