출력하고자하는 데이타들의 키값을 리스트에 추가시킨후
for문을 돌려서 하나씩 출력을하는 프로그램을 짜고자 합니다.
단, 출력을 퀵리포트로 하는게 아니라 off_prn_print.asp을 이용해서
출력을 하고자 합니다.
그런데 아래와 같이 코딩을 하면 while 문에서 무한루프를 돕니다.
왜냐하면 WebBrowser1.readystate 값이 항상 1로만 되어있고 4로
바뀌지가 않습니다. 이틀을 고민하다가 이렇게 부탁을 드립니다.
꼭좀 답을 부탁드립니다.
for i := 0 to ListBox1.items.count - 1 do
begin
Nav_Str := 'http://www.ncomasp.com/web_service/service/impo_sin/
prn_out/off_prn_print.asp?impo_key=' + Copy
(ListBox1.items[i],43,11) + '&impo_tcano=' + copy
(ListBox1.items[i],28,5);
j := 0;
while j <> 4 do
begin
j := WebBrowser1.readystate;
if WebBrowser1.readystate = 4 then
begin
j := 0;
end;
end;
WebBrowser1.Navigate(Nav_Str);
PrintWebContent;
end;
procedure PrintWebContent;
var VI, VO: OleVariant;
IECommand: IOleCommandTarget ;
begin
IECommand := WebBrowser1.Document as IOleCommandTarget;
IECommand.Exec(nil, OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER, VI,VO);
end;