Q&A

  • 델7 null nil 에러 제발 그냥 지나치지 마세요 TT;
질문 올리기도 민망해서 계속 여기저기 수십번 게시판 뒤져보고
올리는것이거든요..
알아먹지 못하는 영어로 된 도움말도 뒤져보고..
너그러이..용서하시고.. 도움 부탁드립니다.



델.. 7  훨씬 이전 버젼에서 문제없이 컴파일 되던것이었는데요

델 7 로 바꾸면서  아래와 같은 에러가 납니다.



소스1
function RD.Nvl(sStr:Variant):string;
begin
   if sStr =null then
      Result := ''
   else
      Result := sStr;
end;

에러1:
[Error] Rd.pas(159): Undeclared identifier: 'null'

system 유닛에서 잘못 정의되어있다고 어느분이
답변주셨는데.. system 유닛을 보려면 어딜 보져..T.T
너무 바보같은 질문인가요?



소스 2
if not OpenPrinter(ADevice, HPrt, nil) then
  begin
    Result := False;
    Exit;
  end;

에러2
[Error] List.pas(146): Types of actual and formal var parameters must be identical
9  COMMENTS
  • Profile
    김동환 2003.05.14 18:47
    안녕 하세요....

    소스 2부분 설명드릴 려고 합니다....

    아마도 HPrt 의 변수를 선언 하실 때 Integer로 선언 하신것 같네여.....

    uses 절에 있는 WinSpool의 OpenPrinter의 함수를 보시면

    function OpenPrinter(pPrinterName: PChar; var phPrinter: THandle; pDefault: PPrinterDefaults): BOOL; stdcall;

    로 나와 있을 것입니다... 여기서  var phPrinter의 선언이 THandle로 되어 있음다.

    그러면 THandle이라면 HPrt 또한 THandle로 선언 되어야지만 될것입니다....

    도움이 되었는지 모르겠네여....즐코 하셈..




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

    다른건 다 해결되신거 같구... 2번째 질문인데...

    if not OpenPrinter(ADevice, HPrt, nil) then

    위에서 nil은 별문제없는거 같구요.. HPrt가 혹시 상수 아닙니까?

    함수에서 원하는것은 var파라매터 변수인데 상수를 넣으신것 같네요...

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

  • Profile
    나명 2003.04.16 01:41
    감사합니다.

    제가 너무 바보 같아서 여기 들르신 분들
    너무 번거롭게 해드린거 같네요..

    정말 무지함에 고개를 들지 못하겠습니다.
    여튼 답변들 너무 너무 감사드립니다.


  • Profile
    그냥 2003.04.15 22:41
    uses 절에 Variants 입니다. Variant가 아닙니다. 읽다가 보니
    혹시나 해서리..^^

    그리고 포인터가 상태를 확인하려면 nil 입니다. nill이 아니고..^^

  • Profile
    나명 2003.04.15 23:24
    답변 감사합니다.

    uses 절  도움말이나 혹시나 해서
    제가 스펠링을 잘못 적었나 싶어서
    여러번 variant variants 도 적어보았습니다
    얼마나 답답하면..^^;;

    여튼 uses 절에  컴파일 해서 넘어가구요..

    여전히
    openprinter 와 writeprint 할때 nil 이 에러가 나요..



  • Profile
    nilriri™ 2003.04.15 19:23
    1. uses 절에 Variants 가 지정되어있는지 확인해 보세요..

    function VarIsNull(const V: Variant): Boolean;
    begin
      Result := TVarData(V).VType = varNull;
    end;

    function Null: Variant;
    begin
      _VarClear(TVarData(Result));
      TVarData(Result).VType := varNull;
    end;
    위의 함수가 Variants 에 선언되어 있답니다.

    2. OpenPrinter(ADevice, HPrt, nill) 이 함수가

    이것처럼
       OpenPrinter(var ADevice : ???, ....)
    인수에 var이 붙어있지는 않나요?  

    var을 제거하시고 컴파일 해보세요..

    정확한 원인은 모르겠지만 님과 비슷한 에러를 위처럼 처리해서 해결했었습니다.

    그럼..


  • Profile
    나명 2003.04.15 19:53
    같은 폼상에.. uses 절에는 Variant 가 지정되어 있지 않아요
    그래서 써주신데로 표기해보고 다른 폼에도 적용해 봤지만
    마찬가지 에러가 납니다

    그리고 인수에 var 도 표기되어 있지 않은걸요

    저도 답변만을 목빼고 기다리지 않지만..
    흑흑 정말 이틀 넘게 해결이 안되니 넘 답답하네요.

    죄송 델 책도 여러번 보고..
    도움말들도 살펴보고..
    고수님들이 자료를 잘 찾으시는 곳이 있나요.
    물꼬라도 트였음 좋겠네요






  • Profile
    티모니 2003.04.15 19:19
    nil 으로 바꿔보세요 ^^;

  • Profile
    나명이 2003.04.15 19:34
    nill로도 바꿔봤져

    • 김상완
    • 2003.04.15 21:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 서은구
      2003.04.15 21:51
      음.. 일단 클래스가 틀리겠죠.. 둘다 TCustomMemo 까지는 같이 상속을 받지만 그후에 틀려지네요.. Ric...
    • 이종택
    • 2003.04.15 21:18
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 임진묵
      2003.04.15 21:24
      확장자가  Pas 로 되어 있는 걸을.. 델파이에 Component - Install component - Unit file name...
    • 이종택
      2003.04.15 23:58
      죄송한데요.잘모르겠요.. 제가 원하는 팔레트에 올려놓고 그걸 가져다가 쓰고 싶은데 그게 잘 안되네요...
    • 임진묵
      2003.04.22 04:13
      [델5]기준으로... 메뉴에 보시면 컴포넌트에 팔레트 설정 부분이 있습니다. (제일 아래에 있어요) 그...
    • 이경남
    • 2003.04.15 20:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 그냥
      2003.04.15 22:25
      Access Violation 에러는 메모리관련 부분에서 에러가 발생합니다. 혹시 DB관련 내부 함수나 아님 폼에 선...
    • 최용일
      2003.04.16 00:04
      안녕하세요. 최용일입니다. 인디 8.0부터 아래와 같이 바뀌었네요...   AThread.Connectio...
    • 델파이스
      2003.04.16 20:53
    • irashi
    • 2003.04.15 20:07
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정우성
    • 2003.04.15 19:27
    • 5 COMMENTS
    • /
    • 0 LIKES
    • 임진묵
      2003.04.15 21:18
      이건 제가 짜본건데요.... 맞는건지.. 님꺼 보니깐.. 이해가.. 잘 ㅡ.ㅡ (죄송) 주석은 파일 안에...
    • 정우성
      2003.04.15 23:13
      관심 가져주셔서 정말 감사합니다. 님이 짜주신걸 봤는데요, 솔찍히 정말 감동이었습니다. ^^ 그런데........
    • 임진묵
      2003.04.15 23:31
      이제야 목적을 알겠군요...ㅎㅎ 제가 보냈던건 점들의 거리상 젤루 작은거리는 어느것이냐 하는 것이었습...
    • 장태원
      2003.04.15 19:51
          while cn<k do     begin     &nb...
    • 정우성
      2003.04.15 20:53
      친절한 답변 진심으로 감사드립니다. 말씀하신 부분을 고쳐서 while cn<k do     ...
    • 티모니
    • 2003.04.15 19:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.04.16 00:09
      안녕하세요. 최용일입니다. 인디 컴포넌트보시면 TIdAntiFreeze란게 있습니다. 이게 어는거 방지해줍니...
    • 나명
    • 2003.04.15 18:52
    • 9 COMMENTS
    • /
    • 0 LIKES
    • 김동환
      2003.05.14 18:47
      안녕 하세요.... 소스 2부분 설명드릴 려고 합니다.... 아마도 HPrt 의 변수를 선언 하실 때 Integer...
    • 최용일
      2003.04.16 00:19
      안녕하세요. 최용일입니다. 다른건 다 해결되신거 같구... 2번째 질문인데... if not OpenPrinter(AD...
    • 나명
      2003.04.16 01:41
      감사합니다. 제가 너무 바보 같아서 여기 들르신 분들 너무 번거롭게 해드린거 같네요.. 정말 무지...
    • 그냥
      2003.04.15 22:41
      uses 절에 Variants 입니다. Variant가 아닙니다. 읽다가 보니 혹시나 해서리..^^ 그리고 포인터가 상...
    • 나명
      2003.04.15 23:24
      답변 감사합니다. uses 절  도움말이나 혹시나 해서 제가 스펠링을 잘못 적었나 싶어서 여...
    • nilriri™
      2003.04.15 19:23
      1. uses 절에 Variants 가 지정되어있는지 확인해 보세요.. function VarIsNull(const V: Variant): Boo...
    • 나명
      2003.04.15 19:53
      같은 폼상에.. uses 절에는 Variant 가 지정되어 있지 않아요 그래서 써주신데로 표기해보고 다른 폼에도 ...
    • • • •
    • 궁금이
    • 2003.04.15 18:47
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.04.15 19:16
      procedure TForm1.FormCreate(Sender: TObject); begin   Application.HintHidePause := 10000...
    • 궁금이
      2003.04.17 00:41
      답변감사합니다. 마우스를 안갖다대고 풍선만 나오게하는 방법은 업나요 클릭할때 다른곳에서 풍선이 나...
    • KDDG_ZZOM
      2003.04.15 18:39
      전 잘나오는데요??? 다시 한번 확인해보세요... 델7에서 Label1.Caption := FormatCurr('#,##', 1543500...
    • 양승렬
    • 2003.04.15 08:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이경문
      2003.04.15 09:34
      객체앞에 @ 를 붙이면 됩니다.
    • 서은구
    • 2003.04.15 07:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.04.15 07:13
      쓰레드를 이용해서 돌리면 빠르겠지만... 350만건이면 배치성아닌가요? 우선 테이블 인덱스를 삭제하...
    • 서은구
      2003.04.15 07:30
      답변 감사합니다.. 오라클이 맞기는 한데요.. 그게 고려될 사항이 많거든요.. 하나의 테이블이 여러개로 ...
    • 거리
      2003.04.15 18:16
      많은 데이터라면 디비단에서 바로 프로시저 만들어서 쓰시기 바랍니다. jsp에서 말하는 DBConnectionPool...
    • 장태원
      2003.04.15 19:25
      쓰레드가 빠른것은 아닙니다. 어짜피 서버가 처리해야 하는 속도는 한계가 잇고. 쓰레드는 단지.. 클...
    • 푸우
    • 2003.04.15 06:16
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 장태원
      2003.04.15 22:43
      Access 를 오라클 같이 사용해보세요. 오라클에스 트리거라는 이벤트형식이 존재합니다. 저장시, 삭...
    • 권순모
      2003.04.15 10:21
      리스트뷰의 마우스 다운 이벤트로 한번 만들어봤습니다. 님이 원하는데로 선택적 팝업을하려면 델파이에...
    • 고가람
      2003.04.15 18:35
      답변 감사합니다. ^^;; 아래는 제가 어제 질문을 올리고 대충 작정한 코드인데요... 답변해주신 것...
    • 최용일
      2003.04.16 00:24
      안녕하세요. 최용일입니다. 두번째부터 팝업메뉴가 뜨는것은 맨처음실행될때는 Listview1.PopupMenu에 ...
    • yuricity
    • 2003.04.15 04:40
    • 0 COMMENTS
    • /
    • 0 LIKES