Q&A

  • variant형은 참조형으로 넘길수 없나요?(소스있습니다.)
호출부에서
unit1
var
  Form1: TForm1;
  m_Code: String;
  m_Name: String;
  m_Price: Integer;

procedure TForm1.DoDataExchange(flag: Boolean);
begin
    dx.DDX(flag,@txtCode,m_Code); <====이부분에서 에러가 남니다.
    dx.DDX(flag,@txtName,m_Name);
    dx.DDX(flag,@txtPrice,m_Price);
end;

---------------------------------------------------------------------

프로시저부
unit2

procedure TDoDataExchange.DDX(flag: Boolean; aObj: Pointer; var variable: variant);
begin
    If flag = True then
    begin
        case varType(variable) of
        varInteger       : variable := StrtoInt(TEdit(aObj^).Text);
        varString        : variable := Trim(TEdit(aObj^).Text);
    end;
end;
---------------------------------------------------------------------

에러종류
[Error] Unit1.pas(53): Types of actual and formal var parameters must be identical

variant형은 참조형으로 넘길수 없나요?.
없다면 unit2에서 unit1의 변수에 자료형(integer,string....)을 알수 있는 방법은 없나요?

고수님들의 조언 부탁드립니다...
꾸벅.

2  COMMENTS
  • Profile
    최용일 2003.02.11 19:06
    안녕하세요. 최용일입니다.

    Variant형도 참조형으로 넘길수 있습니다.

    Variant형과  Integer, string형등이 호환이 되어 상호대입이 가능해도 둘은 완전히 다른 형입니다. 형변환이 안됩니다. m_code, m_Name, m_Price를 Variant형으로 바꾸세요...

    그리고 case문끝에 end가 하나 빠졌네요...

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

  • Profile
    이재훈 2003.02.11 23:42
    .

    • 김민수
    • 2003.02.12 03:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • gokick
      2003.02.12 19:38
      동적으로 만드시지요 특정프로시저~~~ var   vquery: TQuery; begin   vquery ...
    • 이상협
    • 2003.02.12 02:43
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김용호
    • 2003.02.12 02:14
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이희진
      2003.02.12 03:54
      procedure TDOWNLOAD.StreamToVariant(Stream: TStream; var v: olevariant); var   p : point...
    • 최용일
      2003.02.12 02:25
      안녕하세요. 최용일입니다. VarArrayLock쓰시면 될건데요... 이 함수가 리턴하는 값이 데이터가 있는...
    • 김용호
      2003.02.12 08:56
      .
    • 김영남
    • 2003.02.12 01:39
    • 2 COMMENTS
    • /
    • 0 LIKES
    • KDDG_ZZOM
      2003.02.12 01:43
      혹시 그림파일을 출력하나요? 그림파일을 출력할때 원본그림의 해상도를 낮게 해서 해보세요.... 저...
    • 김영남
      2003.02.12 02:25
      답변 감사합니다...^^ 이미지는 없습니다... 단지 2장 이상 출력이 되는 경우가 그런듯 한데... 1...
    • 김보영
    • 2003.02.12 01:08
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김동환
      2003.02.12 23:33
      음...일단 SubType 프로퍼티를 "mtHtml" 로 선언하셔야 하구요... NMSTMP.PostMessage.Body부분을 HTM...
    • 초보에요.
      2003.02.12 03:45
      냉무...
    • 박장용
      2003.02.12 01:54
      방법1> widestring타입으로 복사하여 Copy함수를 쓰시는 방법 여기서 s가 '하나두울셋'일때 결과는 '하...
    • KDDG_ZZOM
      2003.02.12 00:53
      예전에 김영대씨홈피에서 뽀리친것같네요...^^ 여기 팁란이나 예전 질답란을 검색해도 나올것같은데... ...
    • 구창민
      2003.02.11 22:26
      구창민입니다. 항상 'T.F.. ' 요 항목이 같이 존재한다는 전제하에 아래 처럼 하면 될거 같네여, ...
    • 곽상호
    • 2003.02.11 21:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • gokick
      2003.02.12 19:30
      BDE에서 Oracle Drivers에 보면 BLOB에 관련된 설정이 나옵니다.. 그부분을 변경하시면 좀더 커다란 이...
    • 김인수
    • 2003.02.11 19:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구니
      2003.02.12 02:23
      혹시 ADO를 사용하신것 아닙니까? 혹 ADO를 사용하셨다면 패치를 찾아서 해보셔요.. ADO patch.... ...
    • 김상수
    • 2003.02.11 18:32
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 김상수
      2003.02.12 01:17
    • KDDG_ZZOM
      2003.02.11 20:46
      우선 이방법으로 치환 해보시고 원하는 후속작업을 하시면 될것같네요... StringReplace(내용,#13#10,' ...
    • 최용일
      2003.02.11 18:56
      안녕하세요. 최용일입니다. Copy함수를 써보세요...   RichEdit1.Text := Copy(RichEdit1....
    • 김상수
      2003.02.11 22:07
      제가 원하는 그런게 나타나지 않네요 아래에도 설명했지만 메세지는 '2003-02-11 12:17:00 설...
    • KDDG_ZZOM
      2003.02.11 22:42
      리치에디트에 인서트한후 아래메시지를 던지면 리치에디트이 마지막으로 가거든요... SendMessage(Rich...
    • 김상수
      2003.02.11 19:36
      음.. 답변 감사합니다. 그런데요 소스가   ls_set_msg := ls_show_time +' '+'설...
    • 구창민
      2003.02.11 22:56
      다추가하고난뒤 이렇게 하심 되겟네여..   for i := RichEdit.Lines.Count-1 downto 0 do &n...
    • 박희경
    • 2003.02.11 06:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • midaskpp
      2003.02.11 16:42
      // 이렇게 해보세요... mainform.table1.open; mainform.table1.first;     &nbs...
    • 정성헌
    • 2003.02.11 06:38
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이재훈
    • 2003.02.11 05:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2003.02.11 19:06
      안녕하세요. 최용일입니다. Variant형도 참조형으로 넘길수 있습니다. Variant형과  Integ...
    • 이재훈
      2003.02.11 23:42
      .
    • 델파이탐크루즈
      2003.02.11 05:33
      .pas 파일을 볼려고 하시는것 같은데... 메모장 열어놓으시고 화일 열기하셔서 *.pas 하신후 보시면...
    • 장미경
      2003.02.11 05:44
      그렇군요 ^^; 괜히 고민했네요, 감사드립니다..
    • 칼짱
      2003.02.11 05:49
      안녕하세요. 칼짱입니다. ^^; 생각나는 대로... 간략하게 설명드릴께요. 타입라이브러리 아시죠? ...
    • 나옹이
      2003.02.11 07:58
      아항..... 이런 방법이... 감사합니다. 그런데요.... ActiveX 폼에 Lable 컴포를 하나 올려놓고.....
    • 칼짱
      2003.02.11 19:00
      메소드구현에 Label1.Caption := FWindow.location.toString; 즐겁게 코딩하세요!~ ^^;
    • 최용일
      2003.02.11 10:21
      안녕하세요. 최용일입니다. OnShow이벤트에서 메세지를 보내보세요... PostMessage(FormHandle, WM_C...
    • 최용일
      2003.02.11 10:23
      안녕하세요. 최용일입니다. 굳이 익스플로러를 폼에 넣으려고 하시지 마시고, 델파이에 있는 TWebBrowse...
    • 이뿌이
    • 2003.02.11 00:33
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 파니
      2003.02.11 03:01
      미흡하지만 도움이 되었으면 좋겠네요...^* DBGrid + TQuery + TDataSource 일 경우. TDataSou...
    • 올랭이
    • 2003.02.10 23:44
    • 0 COMMENTS
    • /
    • 0 LIKES