Q&A

  • 이러다 델파이 없어질수도 있겠네여.......
성호종 wrote:

답변 감사 합나다

Win2000에서도 이러한 문제가 발생한다 합니다....



with Query do begin

for i := 0 to RecordCount do begin

....

end;

end;



위 쏘스에서도 i 값이 지맘데로 변한다 하더군요.....



허참 문제네여......



이러다 델파이 없어지는게 아닐지........



> 김해중 wrote:

> 저는 약간 다른경우지만 NT에서 개발한 프로그램이 WIN98에서 엉뚱하게 나와서

> 몽땅 98에서 다시 작업한 경우가 있었습니다. 정말 열받는 일이지요.

> NT에서의 결과값이 이상하다면 Trace를 걸어보세요....... 그럼 어디에서 값이 이상해지는지 확인 하실수 있을 것이고 도대체가 말도 안되는 곳에서 이상해지면 98에서 작업하시던가 한국INPRISE에 ServicePack가 있는지 확인하신 후 그것도 없다면 개떡같은 델파이가 되는것이겠지요...

>

> > 자금 시스템을 개발하고 있습니다.

> > Real형으로 변수를 선언하고 Query로 해당 Data를 읽어들여

> > Real형변수에 저장시킨후 이자계산을 하는 로직인데....

> > 답은 11431.00입니다....

> > 그런데 이상한일은 개발자들중 WinNT버젼에서 컴파일하는 경우가 있고

> > 일반 Windows버젼에서 개발하는 경우가 있습니다....

> > NT4.0에서 컴파일 한경우는 답이 '1143100.0'이 나오고

> > Windows98에서 에서 컴파일한 경우는 답이 '11431.00'이

> > 나옵니다...

> > 답은 당연히 Windows98에서 게산한 값이 맞습니다....

> > 어디에서 문제가 될까요....

> >

> > 계산공식은 '소수점이하절사(원금*일수/일할일수)' 입니다.

> > 소수점이하절사 입니다.. 그래서 Trunc()를 썼구여......

> > 예)Trunc(35056.99*30/92) = 11431.00

> >

> > 또한가지는 NT4.0에서 Integer형변수를 초기화시키기 위해

> > '0'을 집어넣었더니 이상한 값이 들어가는데

> > 이것 또한 왜그럴까요....

> >

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

> >

> > 참고로 공통이라부르는 Win95가 설치되어있는 PC를 파일서버로

> > 사용하여 그 PC에있는 소스를 직접 컴파일 하고 있습니다.....

> >

> > 잘 부탁드립니다.

2  COMMENTS
  • Profile
    이재원 2000.07.08 01:11
    아래 같은 경우에는



    with Query do begin

    Last;

    RecCnt:=RecordCount;

    for i := 0 to RecCnt do begin

    ....

    end;

    end;



    이렇게 해주시는 것이 옳은것 같은데요. 속도도 좀더 빨리 나올꺼구요.

    글구 이문제는 비베도 같고 있더라구요. Rs.MoveLast를 먼저 불러 주지 않으면 가끔 가다가 RecordCount를 못가지고 오는 경우가 있어요...



    Integer를 0 으로 초기화 시키시는데 문제가 생긴다는건 좀 이해하기가 어렵군요. 사실



    Var

    I : Integer;

    Begin

    I:=1818;

    End;

    로 쓰시면 델파이가 알아서 먼저 I:=0;으로 초기화 시켜준다고 알고 있거든요. 초기화 안시켜 주셔도 됩니다.



    글고 계산 값이 다르게 나오는건 와 그런지 도저히 모르겠군요. 저도 98, 2000, NT 등등 다 쓰는데 아직까지 그런 문제는 없었거든요.... 혹시 사용자들의 컴이 (쥐)약을 먹은게 아닐까요?





    김해중 wrote:

    > 성호종 wrote:

    > 답변 감사 합나다

    > Win2000에서도 이러한 문제가 발생한다 합니다....

    >

    > with Query do begin

    > for i := 0 to RecordCount do begin

    > ....

    > end;

    > end;

    >

    > 위 쏘스에서도 i 값이 지맘데로 변한다 하더군요.....

    >

    > 허참 문제네여......

    >

    > 이러다 델파이 없어지는게 아닐지........

    >



  • Profile
    임형호 2000.07.08 00:43
    김해중 wrote:

    > 성호종 wrote:

    > 답변 감사 합나다

    > Win2000에서도 이러한 문제가 발생한다 합니다....

    >

    > with Query do begin

    > for i := 0 to RecordCount do begin

    > ....

    > end;

    > end;

    >

    > 위 쏘스에서도 i 값이 지맘데로 변한다 하더군요.....

    >

    > 허참 문제네여......

    >

    > 이러다 델파이 없어지는게 아닐지........

    >

    > > 김해중 wrote:

    > > 저는 약간 다른경우지만 NT에서 개발한 프로그램이 WIN98에서 엉뚱하게 나와서

    > > 몽땅 98에서 다시 작업한 경우가 있었습니다. 정말 열받는 일이지요.

    > > NT에서의 결과값이 이상하다면 Trace를 걸어보세요....... 그럼 어디에서 값이 이상해지는지 확인 하실수 있을 것이고 도대체가 말도 안되는 곳에서 이상해지면 98에서 작업하시던가 한국INPRISE에 ServicePack가 있는지 확인하신 후 그것도 없다면 개떡같은 델파이가 되는것이겠지요...

    > >

    > > > 자금 시스템을 개발하고 있습니다.

    > > > Real형으로 변수를 선언하고 Query로 해당 Data를 읽어들여

    > > > Real형변수에 저장시킨후 이자계산을 하는 로직인데....

    > > > 답은 11431.00입니다....

    > > > 그런데 이상한일은 개발자들중 WinNT버젼에서 컴파일하는 경우가 있고

    > > > 일반 Windows버젼에서 개발하는 경우가 있습니다....

    > > > NT4.0에서 컴파일 한경우는 답이 '1143100.0'이 나오고

    > > > Windows98에서 에서 컴파일한 경우는 답이 '11431.00'이

    > > > 나옵니다...

    > > > 답은 당연히 Windows98에서 게산한 값이 맞습니다....

    > > > 어디에서 문제가 될까요....

    > > >

    > > > 계산공식은 '소수점이하절사(원금*일수/일할일수)' 입니다.

    > > > 소수점이하절사 입니다.. 그래서 Trunc()를 썼구여......

    > > > 예)Trunc(35056.99*30/92) = 11431.00

    > > >

    > > > 또한가지는 NT4.0에서 Integer형변수를 초기화시키기 위해

    > > > '0'을 집어넣었더니 이상한 값이 들어가는데

    > > > 이것 또한 왜그럴까요....

    > > >

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

    > > >

    > > > 참고로 공통이라부르는 Win95가 설치되어있는 PC를 파일서버로

    > > > 사용하여 그 PC에있는 소스를 직접 컴파일 하고 있습니다.....

    > > >

    > > > 잘 부탁드립니다.



    그런문제가 있었군요.

    저두 OS를 NT를 사용하고 있거든요. 물론 같이 있는 후배들도 그렇구요.

    그런데 이상하네요.

    위에서 말씀하신 내용중의 대부분은 제가 사용했던 명령어들인데.... 별 문제는 없었던것 같은데요.



    Trunc(35056.99*30/92) 이 명령어를 사용해서 방금 계산해 봤는데...답은 11431이라고 나오던데요. '1143100.00 이렇게 안나왔습니다. 제가 잘못 테스트를 했나요?

    그리고 integer형에서 0으로 초기값을 설정하면 0이 들어있던데요.



    저도 NT에서 작업하고 98로 설치하면 디자인상에 조금씩 틀어지는것등은 있었지만...

    위와같이 심각한 문제가 발생했다면 지금 당장 그동안 작업한거 다 뜯어 고쳐야겠네요.

    제가 시스템 쪽으로나 델파이쪽으로나 잘 몰라서 아무말 없이 넘어갈려고 했는데요.

    이렇게 몇자 적는것은 글을 올리신분들께 한말씀 드릴려구요. 여기는 델파이 동호회라는걸 잊지마세요. 개떡같은 델파이가 뭡니까? 좋은 말도 많은데요. 그리고 이러다가 델파이가 없어질지도 모른다고요? 위와같은 문제로 고생을 하신것을 이해할수는 있지만 델피언으로서 사용언어에 대해서는 자재를 하셨으면 좋겠네요. 님들께서 올리시는 글들은 저같은 초보자들이 항상 보고있다는 생각을 하셨으면 좋겠습니다.