Q&A

  • 구조체에서 동적배열이 사용방법이 어떻게 되나요?
    TR_5005_REPEAT_STRUCT = Packed Record
       OrderNo             : Array [1..10] of char; //원주문번호
       ItemCode            : Array [1.. 6] of char; //종목코드
       OrderClass          : char; // 주문구분
       OrderPrice          : Array [1..10] of char; // 주문가결
       OrderQty            : Array [1..10] of char; // 주문수량
       DealPrice           : Array [1..10] of char; // 체결가격
       DealQty             : Array [1..10] of char; // 체결수량
       RemainQty           : Array [1..10] of char; //미체결수량
       update_flag         : char; // 정정취소여부
       OriginOrderNo       : Array [1..10] of char; // 원주문번호
    end;

    TR_5005_STRUCT = Packed Record
        AcctNo             : Array [1..14] of char; //계좌번호
        ResultCode         : Array [1.. 4] of char; //처리코드
        ItemCount          : Array [1.. 5] of char; //종목수
1-->   RepeatData         : Array [1..10000] of TR_5005_REPEAT_STRUCT;
    end;

1부분에서   RepeatData         : Array [1..10000] of TR_5005_REPEAT_STRUCT; 처럼 하면 메모리를 많이할당해서 동적으로 할당하려고 하는데요
RepeatData         : Array of TR_5005_REPEAT_STRUCT; 식으로 동적배열이안되는군요 어떻게해야하나요

3  COMMENTS
  • Profile
    김경록 2003.05.07 01:11
        TR_5005_REPEAT_STRUCT = Packed Record
           OrderNo             : Array [1..10] of char; //원주문번호
           ItemCode            : Array [1.. 6] of char; //종목코드
           OrderClass          : char; // 주문구분
           OrderPrice          : Array [1..10] of char; // 주문가결
           OrderQty            : Array [1..10] of char; // 주문수량
           DealPrice           : Array [1..10] of char; // 체결가격
           DealQty             : Array [1..10] of char; // 체결수량
           RemainQty           : Array [1..10] of char; //미체결수량
           update_flag         : char; // 정정취소여부
           OriginOrderNo       : Array [1..10] of char; // 원주문번호
        end;

        TR_5005_STRUCT = Packed Record
            AcctNo             : Array [1..14] of char; //계좌번호
            ResultCode         : Array [1.. 4] of char; //처리코드
            ItemCount          : Array [1.. 5] of char; //종목수
        end;

    위처럼 포인트를 선언하시구여..
    Form_Create 이벤트 혹은 해당 구조체를 사용하시기 전에

    Try
          SetLength(10000, TR_5005_REPEAT_STRUCT); //긴가 민가해서.. SetLength(TR_5005_REPEAT_STRUCT, 10000) 이건가? 아참.. 기억이 가물가물..
          Initialize(TR_5005_REPEAT_STRUCT); //요건 초기화.. 아님.. For문으로 초기화 하시는게 좋을듯..
    Except
         TR_5005_REPEAT_STRUCT  := Nil;
          ShowMessage('아띠!!  구조체에 메모리 할당이 안되네..  메모리 좀 늘려봐염..');
    End;

    위처럼 하시는게 어떠실지..
    지금 Delphi를 켜 놓고 실험을 하시 않았지만,
    위 질문처럼 구조체에서 또 다른 구조체를 사용해본적이 없어서
    확신 해 드리지 못하겠네여..
    허나, 문법상으로는 문제가 없을듯...

    그리고, SetLength로 할당한 메모리는 반드시 해제를 해 주셔야 합니다.
    Finalize(TR_5005_REPEAT_STRUCT);

    혹은
    TR_5005_REPEAT_STRUCT := nil;

    꼭 해주세염...
    답변이 되었길 바랍니다..
    아~~ 빨랑 일감하나 들어와야할텐데..
    이겅.. 저의 투덜거림이었습니다..
    ^^;


  • Profile
    김경록 2003.05.07 02:03
    Array of TR_5005_REPEAT_STRUCT

    요부분이 선언이 안되신다구여?
    이겅.. 어떻하나..
    그럼.. 이렇게도 안되는지 모르겠네염..

    RepeatData     : ^TR_5005_REPEAT_STRUCT


    당근히..
    GetMem()함수로 할당하시구여..
    FreeMem()함수로 할당해제하시구여..
    이것도 안되면, 안되는데...
    동적할당.. 안되는데..
    이 2가지밖에 없는데..



  • Profile
    최용일 2003.05.07 00:15
    안녕하세요. 최용일입니다.

    코딩에 문제가 있어 보이진 않는데요...

    Array of TR_5005_REPEAT_STRUCT;로 해도 별 이상은 없어 보이네요...

    어떻게 안되신다는 것인지 이유를 알기가 힘들군요...

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

    • 이강석
      2003.05.07 02:53
      안녕하세요.. 저 델파이는 잘 하는 사람아닙니다.. 아니구요... 책이름... http://www.wowbook.com/com...
    • 박민영
      2003.05.07 03:03
      답변 감사드립니다. ^-^* 근데.... Delphi 5 CONTACT <-- 이 책 절판되어버렸네요 ^^a 그래서&nbs...
    • 이강석
      2003.05.07 03:36
      그 책이 절판이라고요... 쩌업...글쿠나... 제것을 드릴수도 엄는 형편이라서.. 델파이 책은 대림출판사...
    • 김정은
    • 2003.05.07 02:18
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김주
      2003.05.07 07:23
      저도 초보지만 님의 글을 보니 30일전 생각이 나는군요... 그래서 몇자 적어봅니다. 우선 님의 경우 공...
    • 김정은
      2003.05.07 18:30
      이렇게 까지 신경써주는 분이 계실줄은  T^T 감동 입니다... 정말 감사합니다.
    • 이강석
      2003.05.07 02:41
      먼저 안녕하세요!!! 이론적으로 이야기하자면... 제 생각이지만...특정플금에서 화일(이것두 시스템에서 ...
    • 김경록
      2003.05.07 01:45
      Table 한개 만드시구여.. 간단히 접속자 명단을 만드세염.. 물론, 세션ID도 가져올 수 있으니.. 고것도 ...
    • 조경모
      2003.05.07 02:07
    • 김경록
      2003.05.07 01:37
      간단한 책을 하나 사 보심이 어떠실듯... 아참.. 그리고 답변은 드려야져.. 메뉴는 메뉴 컴포넌트를 ...
    • 이강석
      2003.05.07 01:25
      일단 폼위에... 스탠다드 컴포넌트에 보면... 메인메뉴라고 있습니다.. 그걸 올려놓으신 후.... 더블 ...
    • 스말(^___^)
      2003.05.07 03:28
      스말
    • 김경록
      2003.05.07 00:46
      원래는 해당 Key를 검색하셔야 합니다. (ADOQuery를 사용해서..) 이것이 정확한 방법입니다.. 만약 해...
    • 김훈배
    • 2003.05.07 00:29
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2003.05.07 01:02
      안녕하세요... 아..그 질문입니까? 허걱.,... select       &nbs...
    • 초보
      2003.05.07 01:59
      oracle 8부터 case 문이 된다고 하셨는데.. 제가 orcle 8i를 쓰는데 case문이 안듣네요.. 그래서 마지막...
    • 김경록
      2003.05.07 02:04
      제가 Query를 잘못 썼나? 흠.. 테스트를 못해봐서리.. 확신은 못해드리겠지만.. 우쨌든.. Case문은 되는...
    • 김경록
      2003.05.07 00:51
      select sum(decode(substr(code,1,1),'A', mount))    A,     &...
    • 푸우미
      2003.05.07 18:25
      MDB에서의 단점은 알고 계신거져.. MDB 같은 경우 여러 사람이 사용할 경우 DB lock이 잘 걸립니다. 델파...
    • 이강석
      2003.05.07 03:01
    • 김경록
      2003.05.07 00:55
      무료를 원하신다면, 약간 불편해도 MySQL을 추천하며, 무료가 아니면서, 가격대 성능비를 원하시면, MS-...
    • 배영철
      2003.05.07 01:46
      네 고맙습니다.^^ 운영체제는 windows98/ 2000/ xp용으로 하려고 생각합니다. mdb를 생각했는데.. 검...
    • 김경록
      2003.05.07 02:32
      C/S(Client/Server) 환경이 아니라는 말씀처럼 들리네염.. 전.. 여러명이 사용한다길래.. c/s용으로 판...
    • help me
    • 2003.05.06 23:44
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.05.07 01:11
          TR_5005_REPEAT_STRUCT = Packed Record        ...
    • 김경록
      2003.05.07 02:03
      Array of TR_5005_REPEAT_STRUCT 요부분이 선언이 안되신다구여? 이겅.. 어떻하나.. 그럼.. 이렇게도...
    • 최용일
      2003.05.07 00:15
      안녕하세요. 최용일입니다. 코딩에 문제가 있어 보이진 않는데요... Array of TR_5005_REPEAT_STRUCT...
    • 김경록
      2003.05.07 00:38
      아마 있을겁니다.. 제가 삭제하지 않았으니까여..  *^^*
    • 이강석
      2003.05.06 23:39
      안녕하세요..? 우선 결론부터 이야기하면.. 여러가지 방법이 있겠지만.. 그중에서 레지스트리에 저장하...
    • 박민영
    • 2003.05.06 22:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2003.05.06 22:43
      먼저 안냐세요..? 저도 접한지 오래됬지만...잘 모르는 넘입니다.. 하지만 입문서라면.. 'Delphi6...
    • 날나리
      2003.08.12 23:15
      다음과 같이 하시면 3번째 줄 전체를 선택하신 예쁜 색으로 바꿔줍니다... if ARow = 3 then begin &nb...
    • 최용일
      2003.05.06 22:29
      안녕하세요. 최용일입니다 특정셀이 선택되어 졌을때 StringGrid1.Invalidate를 호출해보세요. 그럼 다...
    • 뭉치
    • 2003.05.06 21:47
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 한만교
      2003.05.19 20:35
      $FF아닌가요? 16진수값이여.. 이런거라면, Chr함수를 사용하면 되는데여.. #$FF이런값이 있나요?
    • Formas
    • 2003.05.06 21:11
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 초보
    • 2003.05.06 21:02
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.05.07 00:59
      질문내용이 이해할 수 있는 정도의 자세한 내막이 없는듯 하네여.. 일단.. 이렇게 하셔야 합니다.. (의...
    • 이강석
      2003.05.06 22:06
      안냐세요..? 조건을 말씀하시는 거라면..... select * from account where (코드1 <> 'A') and (...
    • 정수지
    • 2003.05.06 20:43
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 몽상
      2003.05.07 00:29
      일부분만 변환한다면.. 브리프케이스 모델이 가장 좋은 방법이네요.. 핵심이 되면 코드는 저장할...
    • 몽상
      2003.05.06 23:57
      mdb를 꼭 파라독스 디비로 만들어야 한다면..필요한것만 변환하는가요?. 아니면 전부를 변환하는 가요? ...
    • 최학현
    • 2003.05.06 20:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 2003.05.06 22:20
      검색해서 LocalIP를 찾아오는 소스를 보셨다고 했죠? 거기를 좀 더 보시면, LocalIP를 가져올때 어떤 배열...
    • 노랑이
    • 2003.05.06 20:22
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.05.06 22:25
      안녕하세요. 최용일입니다. 연결 프로그램 등록하시려는 것 같은데... %n은 파라매터입니다. 탐색기...
    • 노랑이
      2003.05.06 22:42
      %1 이 없을때 프로그램이 제대로 실행이 안되서 한참 고민했었는데... ^^ 고맙습니다.