sql 向 dll文件 传输数据, dll 再把数据传输的 可执行文件中。。(200)

2

2843223

Unregistered / Unconfirmed
GUEST, unregistred user!
用 sql server 编写一个触发器 把 数据 穿给dll文件 。。例子如下DECLARE @object int DECLARE @hr int DECLARE @property varchar(255) DECLARE @return varchar(255) DECLARE @src varchar(255), @desc varchar(255),@hello varchar(255) -- 创建对象实例。 EXEC @hr = sp_OACreate 'SqlIN.Helloword', @object OUT IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc ,address='sp_OACreate'RETURN END EXEC @hr = sp_OAMethod @object, 'Hello1',@return out,'000000'/*@return 返回函数中返回的字符串值*/IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc ,address='sp_OAMethod'print 'sp_OAMethod'RETURN END PRINT @return -- 销毁对象实例。 EXEC @hr = sp_OADestroy @object IF @hr <> 0 BEGIN EXEC sp_OAGetErrorInfo @object, @src OUT, @desc OUT SELECT hr=convert(varbinary(4),@hr), Source=@src, Description=@desc ,address='sp_OADestroy'print 'sp_OADestroy'RETURN ENDdll 文件中程序如下begin StockCode:='1001测试'; DStruct.cbData := length(StockCode)+ 1; GetMem (DStruct.lpData,DStruct.cbData); StrCopy (DStruct.lpData,PChar(StockCode)); SendMessage(FindWindow(PCHAR('TFormrec'), PCHAR('Formrec')), WM_CopyData, Application.Handle,Cardinal(@DStruct));// lparam(@DStruct) FreeMem (DStruct.lpData);end;接受程序procedure tFormrec.DataIn(var DataMessage: TWMCopyData);var ReceieveData : CopyDataStruct; temp : string;begin ReceieveData := DataMessage.CopyDataStruct^; temp := StrPas(ReceieveData.lpData); //ReceieveData.lpdata; label1.caption := temp;end;为什么 sql 调用 dll 不能发送数据到 可执行文件中。。但是 delphi 自己调用即可以。。???谁能解答。。 或按照题目 给出程序。。谢谢。。。
 
自己 先回答一下。。 我调试 一下 在 查询分析器中 调用dll文件 findwindows 找不到可执行文件的句柄。。。
 
顶!!!!
 
自己来回答吧。。。 可能是 查询分析中用户 权限不够。。所以查找不到可执行文件的进程。。。不知道怎么解决。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
577
import
I
I
回复
0
查看
680
import
I
顶部