急!ActiveX的简单问题,可我不知道为什么?(50分)

  • 主题发起人 主题发起人 FeiDao
  • 开始时间 开始时间
F

FeiDao

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(][:(!]
我的ActiveX控件代码(只有一个事件Show)如下:

unit U_rr;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
ComObj, ActiveX, AspTlb, rr_TLB, Dialogs,StdVcl;

type
Trrshow = class(TASPObject, Irrshow)
protected
procedure OnEndPage
safecall;
procedure OnStartPage(const AScriptingContext: IUnknown)
safecall;
procedure show
safecall;
end;

implementation

uses ComServ;

procedure Trrshow.OnEndPage;
begin
inherited OnEndPage;
end;

procedure Trrshow.OnStartPage(const AScriptingContext: IUnknown);
begin
inherited OnStartPage(AScriptingContext);
end;

procedure Trrshow.show;
begin
showmessage('dddd');
end;

initialization
TAutoObjectFactory.Create(ComServer, Trrshow, Class_rrshow,
ciMultiInstance, tmApartment);
end.
-------调用的页面如下:
<HTML>
<BODY>
<TITLE> Testing Delphi ASP </TITLE>
<CENTER>
<H3> You should see the results of your Delphi Active Server method below </H3>
</CENTER>
<HR>
<% Set DelphiASPObj = Server.CreateObject("rr.rrshow")
DelphiASPObj.show
%>
<HR>
</BODY>
</HTML>
----打开这个ASP文件总是不能打开,IE下方进度条停在中间,显示"正在打开....',但就是打不开。
去掉 DelphiASPObj.show就行,这是什么回事呢?
 
呵呵, 你show给谁看?
ASP是先在Server端执行 再将结果返回给Client


 
to lha
哈,不好意思,我没用过ASP,Delphi也是不久才用,不过我实际的程序不是这样的,我只是
作个测试,但问题现象是一样的,可以帮我瞧瞧吗?我可以发给你,是一个打印的东西,很急呀!
 


把上面的:
procedure Trrshow.show;
begin
showmessage('dddd');
end;
替换成

response.Write('<h3>Delphi文本</h3>');
with Printer do
begin
BeginDoc;
Canvas.Textout(10, 10, '程序执行成功');
EndDoc;
end;
当然已加上uses printers;
不能打开,把with 中的内容去掉就正常显示,难道不能调用打印机吗?
 
大虾们请看下面,其实这才是我需要问的问题(前面的可能会混淆了问题):
---------------------
B/S 结构下的ASP打印组件(DLL)的实现?--难道Delphi真的不能实现吗?(不是用ActiveForm的方法,
ActiveForm的做法我已实现过,包括发票格式和报表格式)
---------------------
以前的贴子好象都还没有提出解决方法,不知道现在怎么样了?这是我第一次来大富翁,当然
也是第一次在这里提出问题,分也很少 :) -----如果您能帮解决这个问题,我会倾囊相送,把所有的分送给您。


 
看来真的没办法了。大虾们都不愿出手吗?
 
也许前面的题目太长而繁琐了,其实我就是想做一个WEB方式的打印组件,要在客户端打印出来。
怎么做才行呢?
有那么多的朋友都曾遇到过这个问题,难道现在就没人肯多说两句吗?--说说看法或其他的有
关解决方法也可以呀?我不信这个问题不实用。而且理解并考虑这个问题并不需花时太久,给个思络或类
似经验也行呀。
大富翁现在没有高手吗?还是高手太忙,或者不屑于解答这些在他们看来可能是毫无意义的问题?
 
你在web server哪里show东西给谁看?
怎么这么多人不理解asp是什么东西呢?在asp显示一个form是可以,但完全没有意义。
你应该做一个客户端的com组件,通过ASP和html跟服务器端进行数据交换,
在客户端com组件里面生成你想要打印的form.
 
to snake:
您好,非常感谢!可能您没有看清我后来的加注信息,我知道前面的代码确实没有意义(其实也是随手写的)
,而且有概念上的错误,但lha已说明过一次,为了这一点,所以我特意在后面加了一段:

'大虾们请看下面,其实这才是我需要问的问题(前面的可能会混淆了问题):'
---------------------
B/S 结构下的ASP打印组件(DLL)的实现?--难道Delphi真的不能实现吗?(不是用ActiveForm的方法,
ActiveForm的做法我已实现过,包括发票格式和报表格式)
-------------------------
您说做一客户端的COM,我想理当如此,那么我该如何做呢?我用delphi时间很短,不好意思!能不能大致说说
用哪个工具来做?比如activex页上的哪个?--因为我不知道在Delphi中除了用
ActiveForm来做以外还能怎么实现这个功能?(想用其它方式主要是希望可以让用户不必下载,是否不可能办得到呢?)
还望不吝再次指点,感谢!
 
多人接受答案了。
 
feidao兄,不知道你到现在已经解决了没有,我也需要这样的功能(activex)并且一些代码已经实现,就是不能用,有时页面好像可以了,但是打印机就是没有动静,请指教
 
后退
顶部