asp 调用 automation问题!高手请进!(100分)

  • 主题发起人 主题发起人 wujinhao
  • 开始时间 开始时间
W

wujinhao

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
ComObj, ActiveX, iprttest3_TLB, StdVcl,Printers,Windows;

type
Tprint = class(TAutoObject, Iprint)
protected
procedure printtext; safecall;

end;

implementation

uses ComServ;

procedure Tprint.printtext;
var
Device: array[0..255] of char;
Driver: array[0..255] of char;
Port: array[0..255] of char;
hDMode: THandle;
PDMode: PDEVMODE;
begin
//设置打印机
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.GetPrinter(Device, Driver, Port, hDMode);
if hDMode <> 0 then
begin
pDMode := GlobalLock(hDMode);
if pDMode <> nil then
begin
//设定纸张类型
pDMode^.dmFields := pDMode^.dmFields or
DM_PAPERSIZE ;
pDMode^.dmPaperSize := DMPAPER_A4;
GlobalUnlock(hDMode);
end;
end ;
Printer.PrinterIndex := Printer.PrinterIndex;
Printer.BeginDoc;
Printer.Canvas.TextOut(100,100,'sssssssssss');
Printer.EndDoc;


end;

initialization
TAutoObjectFactory.Create(ComServer, Tprint, Class_print,
ciMultiInstance, tmApartment);
end.

asp代码
<% @Language = "VBScript" %>
<html>
<%
sub testprtobject
dim prtobject
set prtobject=createobject("iprttest3.print")
prtobject.printtext
set prtobject=nothing
end sub
testprtobject()
%>

错误类型:
iprttest3.print (0x8000FFFF)
/print/print.asp, 第 7 行
 
这个说明没有这个com服务 或者com服务有错。
检查你的组件是否注册。还有名称是否写错
 
组件已注册,
如果
procedure Tprint.printtext;
var:x:integer;
begin
x;x+1;
end;
运行正常!

我想在com服务中控制打印机,然后再asp中调用!
 
看来100分白费了
 
wujinhao你好,你的问题我也碰到了,不知道你解决没有,请指教sos
wsxmly@21cn.com
qq:2373382
 

Similar threads

S
回复
0
查看
688
SUNSTONE的Delphi笔记
S
S
回复
0
查看
683
SUNSTONE的Delphi笔记
S
I
回复
0
查看
844
import
I
I
回复
0
查看
651
import
I
后退
顶部