有开发出能够供asp调用的activex经验的大虾进来指点一下

MRelephant 2008-03-06 11:32:11
程序目的:
想通过asp来传参数给socket Client,再由socket Client想socket Server发送信息。

方法:
用delphi开发出能够传参数给窗口的dll,再用asp来调用。

实际问题:
在同一方法下,如果直接制作两个程序,从程序a,传参数程序b,可以实现。但是由delphi开发的activex dll经asp调用后,确找不到b的窗口句柄!

代码:
activex:
uses
ComObj, ActiveX, ControlServer_TLB, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ScktComp, StdCtrls, Sockets, ASPTypeLibrary_TLB, StdVcl, Windows;

procedure TControl.SendCommand(const Command: WideString);
var
s:pchar;
h:hwnd;
buf:tagCOPYDATASTRUCT;
begin

h:= FindWindow(nil,PChar('ClientForm'));
if h <> 0 then
begin
m_scriptContext.Response.Write('SendMessage success!0');
s := pchar( Command );
buf.lpData :=s;
buf.cbData:=100;
buf.dwData :=100;
SendMessage(h, WM_COPYDATA, 0, integer(@buf));
end
else
begin
m_scriptContext.Response.Write('not find the ClientFrom0.');
end;
end;
程序b:
procedure TClientForm.Proc(var msg: TMessage);
var
P:^tagCOPYDATASTRUCT;
begin

if msg.Msg = WM_COPYDATA then
begin
p:=Pointer(Msg.lParam);
ShowMessage(strpas(p.lpData));
end;
WndProc(Msg);

end;
...全文
83 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
mantti 2008-03-06
  • 打赏
  • 举报
回复
帮顶
MRelephant 2008-03-06
  • 打赏
  • 举报
回复
怎么都没人会吗?帮顶就分啊
发帖
Delphi

5163

社区成员

Delphi 开发及应用
社区管理员
加入社区
帖子事件
创建了帖子
2008-03-06 11:32
社区公告
暂无公告