Q&A

  • 델파이코리아의 권오현님 답변중 이해가 안가는부분 답변 좀 부탁합니다..
이곳과 델코에 질문을 동시에 올렸더니.. 델코에서는 답변이 왔는데 이해가 안가는 부분이 있어서 다시 올립니다(지난번에 올린건 지웠습니다.. 중복 될까봐)(델코가 현재 닫혀 있어서 여기에 올립니다.)



권오현님 답변내용

WordApp는 Variant인데...



WordApp.visible 같은 프로퍼티가 있을리 없져...

게다가 초기화도 안되어있군요...



뒤에가서

WordApp := CreateOLEObject('Word.Application') ;

라고 초기화를 했는데...



아마도 CreateOLEObject는 OLE인터페이스를 생성해 줄겁니다.

그러므로 WordApp를 그 인터페이타입으로 타입케스팅해서 써야 합니다.

물론 쓰기전에 초기화를 먼저해야겠구요...



그럼

평안하시길



그리고 제 질문



버튼을 눌렀을때 워드가 실행중이면 워드를 그냥 화면위로 띄우고, 그렇지 않으면

워드를 실행후 화면으로 띄우는 거져.. 아주 간단하져..

그런데... 밑에 표시한 에러때문에 고생입니다.. 왜 그런지 이해가 안됩니다...

(여기서 왜 이해가 안가는지는 엑셀로 했을때 이미 했었던 부분인데, 같은 부분인데

에러가 나기때문이다.)

위에 인터페이타입으로 타입케스팅을 해야 한다는 부분과 답변 내용에 초기화를 해줘야 한다는 부분이 이해가 안갑니다.. 초기화라고 쓰인부분은 워드랑 연결시켜주는 부분인데, 그것을 아래 표시된 부분에 써주면 실행된 곳에 또 실행이 되어서 워드가 두번 뜨게 되거든요... 두번뜨면 안되거든요... 한번 떠 있으면 계속 그것을 작업을 해야 합니다... 그리고 인터페이타입이 뭔지 모르겠습니다.. 답변 부탁합니다.. 아래는 제가 올렸던 소스 입니다...(버튼을 클릭하기전에는 워드가 실행되기 전이라는 전제가 있습니다)

procedure TForm1.Button4Click(Sender: TObject);

var

wordApp,Range : oleVariant ; // <---- 이부분은 public이나 private에 선언 해줍니다.

WinHandle : hwnd ; // <---- 이부분은 public이나 private에 선언 해줍니다.

Result : HResult; //<---- 이부분은 public이나 private에 선언 해줍니다.

Unknown: IUnknown; //<---- 이부분은 public이나 private에 선언 해줍니다.

begin

Result := GetActiveObject(CLASS_wordApplication, nil, Unknown);

if (Result = 0) then begin // 이미 워드가 실행중인지를 체크

WinHandle := findwindow('opusapp', nil);

try

WordApp.visible := true; <---- 여기서 에러..

except

Application.MessageBox('이미 실행중인 워드를 보일 수 없습니다.', '오류',MB_Ok);

end;

end //if문의 끝

else begin

try

WordApp := CreateOLEObject('Word.Application') ;

WordApp.Documents.Add ; //새문서 추가

Range := WordApp.Documents.Item(1).Range;

Range.Text := memo1.text;// 메모의 내용을 워드로..

except

Application.MessageBox ( 'MS Word를 열 수 없습니다' + chr(13) +

'MS Word가 설치되어있는지 확인하십시요' , '알림' , MB_OK ) ;

end; //try 문의 끝

WordApp.Visible := True ; <--- 여기는 실행 아주 잘됨

end; //esle문의 끝

end;



0  COMMENTS
    • 델초보
    • 2000.06.03 21:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.06.03 21:42
      델초보 wrote: > 안녕하세요... > 음...저는 ADO를 이용해서 클라이언트에서 DB에 접근할 수 있게 하는 ...
    • 델초보
      2000.06.03 22:13
      감사한데... 델코가 지금 안되네요.... 급한데 그냥 알려주시면 .... 무리인다요? 죄송합니다... 바쁘...
    • 혀기
    • 2000.06.03 21:07
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 왕초보
    • 2000.06.03 21:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 화랑
      2000.06.06 05:40
      델파이 5.0 부터는 Active Server Object를 만들수 있습니다.. 여기에서 Method로 리턴값을 받으면 되지...
    • 뎐세
    • 2000.06.03 20:50
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 타락천사
      2000.06.04 03:35
      안녕하세여.. 타락임다..^^ 우선 비동기 전송은 컴포넌트 팔래트의 소켓컴포넌트쓰면 문제가 없구여.. ...
    • 뎐세
      2000.06.05 03:16
      답변은 감사하지만, 제가 원하는 답이 아뉘네요~~ WSA_Select(?)인가 뭐 이런 API들은 윈도 handle을 가...
    • 구창민
      2000.06.03 21:39
      어린왕자 wrote: > 제목 그래로 입니다.. > 부모의 프로텍티드된 메소드를 사용하고 싶은데.. > 어떤 방...
    • 구창민
      2000.06.03 20:51
      사발우성 wrote: > StatusBar 에다 힌트가 나오게 하고 싶어업 어떤 속성에구현하면 좋을까엽... > > ...
    • 구창민
      2000.06.03 20:50
      델초보 wrote: > 안녕하세요. > > 엑셀처럼 메인폼안에서 자식폼이 영역을 벗어나지 못하게 하고 싶어...
    • 델초보
      2000.06.03 21:47
      창민님 답변 감사합니다. MDI 아닌 윈도우 API로는 안되는지요? 정말 감사합니다.. 그럼 즐거운 주...
    • 구창민
      2000.06.03 20:46
      미친척 wrote: > > 안뇽하시와엽 고수님들... 흠... > > 지가엽 데이터타임픽업 컨포넌트로엽.... ...
    • 미친척
      2000.06.03 20:50
      구창민 wrote: > 미친척 wrote: > > > > 안뇽하시와엽 고수님들... 흠... > > > > 지가엽 데이터...
    • 사발우성
      2000.06.03 20:04
      안뇽 하십니까 초보사발임당.....^^ 미천한 실력이지만 갈켜드리줘...... label1.caption:=formatdateti...
    • 문형록
      2000.06.05 05:40
      사발우성 wrote: > 안뇽 하십니까 초보사발임당.....^^ 미천한 실력이지만 갈켜드리줘...... > > label...
    • 강인규
      2000.06.03 19:54
      문형록 wrote: > 지금 프로그램을 실행하면서 컴의 날짜를 레이블에 출력을 하려고 합니다. > > 쉬울것...
    • 병규
    • 2000.06.03 19:41
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.06.03 19:38
      사발우성 wrote: > with query4 do > begin > close; > sql.Clear; > sql.Add('...
    • 유레카
      2000.06.03 19:26
      사발우성 wrote: > with query4 do > begin > close; > sql.Clear; > sql.Add('...
    • ...
      2000.06.03 19:22
      사발우성 wrote: > with query4 do > begin > close; > sql.Clear; > sql.Add('...
    • 사발우성
      2000.06.03 19:52
      ... wrote: > 사발우성 wrote: > > with query4 do > > begin > > close; > > sql.Cl...
    • 노상균
    • 2000.06.03 18:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ...
      2000.06.03 18:22
      노상균 wrote: > 제가 너무 몰라서요.... > > Dbedit에 mask형식을 주어서 입력하는 방법을 여쭤보았는...
    • 하재춘
    • 2000.06.03 18:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 맹주형
      2000.06.04 21:21
      델파이와 AS/400의 DB2와 연결을 하시려면 다음과 같이 하시면 됩니다. (1)먼저 PC에 CA400을 설치하여 ...
    • 손규만
    • 2000.06.03 17:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2000.06.03 19:44
      손규만 wrote: > var > PUZ, YPW : ARRAY[0..100] OF DOUBLE; > > 위와 같이 puz, ypw에 들어있...
    • 이진수
    • 2000.06.03 09:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 알리바바
      2000.06.21 22:18
      안녕하셔여 원하시는 정보는 구하셨나여 만약 못구하셨다면 제홈페이지에 플러그인 구현 소스와 샘플이...
    • 알리바바
      2000.06.21 22:17
      안녕하셔여 원하시는 정보는 구하셨나여 만약 못구하셨다면 제홈페이지에 플러그인 구현 소스와 샘플이...
    • 알리바바
      2000.06.21 22:17
      안녕하셔여 원하시는 정보는 구하셨나여 만약 못구하셨다면 제홈페이지에 플러그인 구현 소스와 샘플이...