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 自己调用即可以。。???谁能解答。。 或按照题目 给出程序。。谢谢。。。