Q&A

  • kernel32.dll 오류.. (잘못된 페이지 오류)
안녕하세요.

저는 현재 5개의 COM PORT를 이용하는 F.A.S/W(RS422)를 개발 중입니다.



사용 중인 통신용 VCL에서 제공되는 메소드(OnReceiveData)를 이용하면,

DataSize가 틀리게 들어오는 경우가 많습니다.

그래서 멀티쓰레드를 이용, 데이터를 직접 받아 처리하고 있습니다(ReadData).



문제는.. 2시간 정도 지난 후, 'kernel32.dll 오류'가 발생한다는 것입니다.

API함수를 잘못 사용한 경우, 위와 같은 에러가 발생할 수 있다고 들었습니다.



제가 사용한 API함수는 쓰레드를 생성하는 CreateThread() 입니다.

Thread := CreateThread(nil, 0, @txrx, nil, 0, idtxrx);



쓰레드로 사용될 함수는 다음과 같이 선언하였습니다.

function txrx(p: pointer): LongInt;



그리고 5개의 MDIChild Form에 포트별로 각각 적용하였습니다.



SendMessage와 같은 함수는 익숙하지 않아서 사용하지 못하고,

Edit, Label, Panel, Memo와 같은 컴포넌트를 직접 컨트롤하였습니다.



CreateThread()의 두번째 파라미터인 dwStackSize를 조정하면(현재: 0),

해결이 가능할 수도 있다던데.. 어떻게 설정해야할지 모르겠습니다.



과연 StackSize가 문제인지.. 아니면 다른 문제가 있는 것인지..

많은 고수님들의 조언을 부탁드립니다.



(참고로 Delphi 5를 사용하여 MDI Form으로 작성하였으며, )

(통신컴포넌트는 CommPortDriver(or CPDrv)를 사용하였습니다.)



1  COMMENTS
  • Profile
    이동근 2000.07.26 18:01
    답변해 주시는 분들이 없으시네요...

    질문 내용이 너무 부실했나보군요.



    해결 방법을 생각하다가...



    쓰레드함수 내부의 루프를 없애버리고 타이머를 이용하였습니다.

    쓰레드함수가 끝나면 타이머를 동작시키고,

    타이머 이벤트에는 쓰레드 생성 후, 타이머를 중단시키는 코드를 작성했습니다.



    아직까지 별 문제는 없는 것같은데... 불안합니다.

    위와 같이 쓰레드 5개의 생성/종료를 반복시키고 있는데,

    또 다른 문제가 발생하지는 않을까요?

    그리고 이런 방식에서 쓰레드 사용의 의미가 있는 것일까요?

    근본적인 해결이 아닌... 잔머리 굴리는 것같아서 좀 그러네요...



    고수님들... 제발... 도와주세여~~~!!!

    • 이승우
      2000.07.22 03:11
      김규억 wrote: > 파라독스DB에 그래픽파일(gif, jpg, bmp등..)을 저장하는 방법을 좀 가르쳐 주십시오. >...
    • 그냥
      2001.02.13 01:11
      이승우 wrote: > 김규억 wrote: > > 파라독스DB에 그래픽파일(gif, jpg, bmp등..)을 저장하는 방법을 좀 ...
    • rika
    • 2000.07.22 01:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 01:58
      안녕하세요. 최용일입니다. 않될리가 있나요.. 델파이에서 이런걸 Procedual Pointer라고 부릅니다. ...
    • 김태영
    • 2000.07.22 01:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 02:06
      안녕하세요. 최용일입니다. llf란 함수가 비절베이직에서는 많이 쓰이나보죠? 제 생각엔 별 필요없을것 ...
    • 이광민
    • 2000.07.22 01:37
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.07.22 02:54
      저도 자세히 알지는 못하지만 그래두 함 적어봅니다. 쿠키를 부여할 때... with response.cookies do...
    • hugehead
      2000.07.22 02:30
      질문이 너무 애매하군요. 좀더 구체적인 질문이었으면 합니다. 이광민 wrote: > 왕왕초보초보델...
    • 송인표
      2000.07.22 03:57
      // 여기나오는 방식은 약간 구식입니다. // 그러나 제일 잘되더군요... // 만약 MyCookie=1 , MyCook...
    • 방문객
    • 2000.07.22 01:02
    • 3 COMMENTS
    • /
    • 0 LIKES
    • BLUE
      2000.08.30 19:51
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • mashall3
      2000.07.22 06:29
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • rika
      2000.07.22 01:30
      방문객 wrote: > 저번에도 여러번 질문을 올렸는데 답변이 없군요... > > stringgrid의 내용을 엑셀로 ...
    • somoon
    • 2000.07.22 00:48
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 방석호
      2000.07.22 02:49
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • Black}{ole
      2000.07.22 01:03
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • 성호종
      2000.07.22 01:02
      somoon wrote: > > 델에서 > button1을 클릭하면 copy file하는 초보코딩좀 > > copy sourcefile de...
    • Black}{ole
      2000.07.22 00:22
      왕초보.. wrote: > 큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립니다. > Canvas를 이용...
    • 왕초보..
      2000.07.22 00:38
      Black}{ole wrote: > 왕초보.. wrote: > > 큐앤에이란을 아무리 뒤져더 찾을수가 없어서 이렇게 글을올립...
    • 이동근
    • 2000.07.21 23:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이동근
      2000.07.26 18:01
      답변해 주시는 분들이 없으시네요... 질문 내용이 너무 부실했나보군요. 해결 방법을 생각하다가... ...
    • 김다음
    • 2000.07.21 23:28
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.07.22 03:15
      김다음 wrote: > dbgrid의 내용을 엑셀의 saveas로저장했습니다. > procedure > var > workbook : Var...
    • 정지호
      2000.07.22 00:03
      김다음 wrote: > dbgrid의 내용을 엑셀의 saveas로저장했습니다. > procedure > var > workbook : Var...
    • 엑소
    • 2000.07.21 21:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2000.07.21 22:01
      엑소 wrote: > 수고하십니다. > 질문 그대로 새롬데이타맨의 왼쪽 아이콘창(?) 구현방법에 > 대해 알고 ...
    • 이현우
    • 2000.07.21 21:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2000.07.22 00:31
      이현우 wrote: > 안녕하세요 > 고수님들 > 아켜죠요 > > 다름이 아니라 Web 에서 DATA 을 DLL 에서...
    • 금동이
    • 2000.07.21 21:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.22 02:12
      안녕하세요. 최용일입니다. 질문만으로는 무엇이 문제인가 확실히 알 수 없군요. 저도 많이 써봤지만 한...
    • 박성일
    • 2000.07.21 20:53
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.21 20:58
      안녕하세요. 최용일입니다. 아래와 같이 하세요... Assign할 때 sndbuf := @aa; sndbuf := @bb...
    • 성호종
      2000.07.21 21:21
      happykevin wrote: 아래 제가 제작한 소스가 보이는데요~ 저는 DBComboBox말고 그냥 Combobox 사용한 것...
    • 알로에
    • 2000.07.21 20:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 어린왕자
      2000.07.21 22:49
      안녕하세요..영원한 델초보 어린왕자입니다.. 별루 어려울게 없어요..프로시저아시져? 아래 프로시저는...
    • 정지호
      2000.07.21 21:03
      알로에 wrote: > 궁금한게 있어요.. > Sender라는게 있잖아요? > 예를 들면 > procedure TForm1.NewMen...
    • 김태영
    • 2000.07.21 20:46
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2000.07.21 21:03
      안녕하세요. 최용일입니다. case문에서 end;가 빠졌네요... case Test_FC(i) of 1: ...