关于delphi用消息机制在两个应用程序间传递变量的问题 我做了一个用消息机制在两个应用程序间传递变量,当程序一第一次打开程序二的时候可通过消息传递变量,但关闭程序二,再次通过程序一打开的时候变量就传递不过去。必须关闭程序一后重新打开程序一,并访问程序二才能传递过变量。请各位老大帮忙分析一下问题出在什么地方?应如何改正。谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关键之处是你怎么取得对方程序目标窗口的Handle。你可以试着在每次传递之前都使用FindWindow来去的目标窗口的Handle 这个函数确实写的取数的函数procedure Tfrm_main.sendstr(var str:string);var HWndProc : HWnd; ds: TCopyDataStruct; // WM_COPYDATA所需要的结构begin //showmessage(str); HWndProc :=0; HWndProc := Winprocs.FindWindow(nil, 'kjbb'); if HWndProc <> 0 then begin if ZcBbWindowHandle = 0 then begin SendMessage(HWND_BROADCAST,ZcBbMessage,handle,0); // 进行广播 // 已经连接到用户程序 application.ProcessMessages; end; ds.cbData := Length (str) + 1; GetMem (ds.lpData, ds.cbData ); //为传递的数据区分配内存 StrCopy (ds.lpData, PChar (str)); SendMessage(ZcBbWindowHandle,WM_COPYDATA,handle,Cardinal(@ds)); // 已经连接过,直接发消息 freemem(ds.lpdata); BringWindowToTop(HWndProc); end;end;这个函数确实是每次传之前都调用的阿? 我觉得SendMessage(ZcBbWindowHandle,WM_COPYDATA,handle,Cardinal(@ds));中的ZcBbWindowHandle应该换成HWndProc吧 新手请教有关FTP下载问题,在线等.谢谢! 关于FastReport动态更新数值的问题。 一个得到整数的功能代码,急,大家帮帮忙,应该很简单的,希望高手给出代码,1:00就要用了,大家救我啊 一個dbgrid與edit關聯問題, 不正常地定义参数对象.提供了不一致或不完整的信息 哪位大侠能提供用DTS进行数据迁移的Delphi源代码?不胜感激! 求下联:在VFP编程下调用DELPHI编程,它们之间如何传递变量值?? 保存 C里的strcpy函数在pascal中用什么替代? activeform RzCheckTree相关问题 如何去掉一个字符串里去掉非字符?
procedure Tfrm_main.sendstr(var str:string);
var
HWndProc : HWnd;
ds: TCopyDataStruct; // WM_COPYDATA所需要的结构
begin
//showmessage(str);
HWndProc :=0;
HWndProc := Winprocs.FindWindow(nil, 'kjbb');
if HWndProc <> 0 then
begin
if ZcBbWindowHandle = 0 then
begin
SendMessage(HWND_BROADCAST,ZcBbMessage,handle,0); // 进行广播
// 已经连接到用户程序
application.ProcessMessages;
end;
ds.cbData := Length (str) + 1;
GetMem (ds.lpData, ds.cbData ); //为传递的数据区分配内存
StrCopy (ds.lpData, PChar (str));
SendMessage(ZcBbWindowHandle,WM_COPYDATA,handle,Cardinal(@ds)); // 已经连接过,直接发消息
freemem(ds.lpdata);
BringWindowToTop(HWndProc);
end;
end;
这个函数确实是每次传之前都调用的阿?