안영제님 안녕 하세요. 늘 도움 주신점 감사하게 생각합니다.
염치 물문하고 여쭙니다.
델파이에서 데이타를 엑셀의 시트로 옮기는데요.
잘되다가 최근에 RPC 서버를 사용할수 없습니다. 라는 메세지가 뜹니다.
제가 만든 프로그램이 아예 먹통이 되다가 하도 안떠서 작업 관리자의 Excel.exe 를 모니터링 하니 CPU 점유일이 80~90 % 넘어가면서 강제 종료를 하고 제가 만든 프로그램으로 돌아오니 RPC 서버를 사용할수 없습니다. 라는 메세지가 뜹니다. 그다음 제가 Try 로 연결한 메세지가 뜨고요..
엑셀 연결 소스는 이렇게 했습니다.
try
{ try // Excel 이 활셩화 되어있으면
XLApp := GetActiveOleObject('Excel.Application');
Except
XLApp := CreateOLEObject('Excel.Application');
end; } // 이거 엑셀 2003 이하 버전은 엑셀 이 뜨긴하는데 시트가 안열리더군여. ㅡ.ㅜ
XLApp := CreateOLEObject('Excel.Application');
XLApp.WorkBooks.Open(ExtractFilePath(Application.ExeName)+'\Excel\cpk.xls');
Sheet := XLApp.Workbooks[1].worksheets['CpkCalculate'];
DataSheet:=XLApp.Workbooks[1].worksheets['Data'];
XLApp.DisplayAlerts := False;
except
if MessageDlg('엑셀을 열수 없습니다. ! 로그기록 하시겠습니까?',mtError,[mbYes,mbNo],0) = mrYes then
frmMain.mmLog.Lines.Add(DateToStr(Now)+'ExcelDataCPK Excute CreateOLEObject Error ');
XLApp.Quit;
frmProgress.Close;
Exit;
end;
// 데이타 처리
// 엑셀 셀에 값 전달
XLapp.Visible := true; //엑셀 보이기
선언은
private
{ Private declarations }
Sheet,DataSheet,XLApp : Variant; // 여기다 했습니다.
RPC 서버를 사용할수 없다란 말이 잘 이해가 가질 않습니다. 도와주십시요.
읽어 주셔서감사합니다..
|