从过程中执行 ShellExecute
我想称呼这个..以及好 ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL) 我可以从 form1 的方法中毫无问题地调用它,
但我只有一个过程“procedure transdataset();” 我想调用它,但它无法识别句柄...我只需要将此过程设为 form1 的方法吗? 我怎么做? 这就是解决方案。
i want to call this.. well as good as
ShellExecute(Handle, 'open', 'c:\Windows\notepad.exe', nil, nil, SW_SHOWNORMAL)
i can call this without issue from within a method of form1
but i just had a procedure "procedure transformdataset();" that i want to call this in and it does not recognise handle... do i just need to make this procedure a method of form1?
how do i do that? is that the solution.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,ShellExecute 需要窗口句柄。 最直接的解决方案是将其传递给您的方法。 我觉得这有点难看,所以就我个人而言,我会考虑在方法返回时调用 ShellExecute。 如果该调用是可选的(取决于数据),请考虑从该方法返回一个状态标志,指示是否需要 ShellExecute 调用。 不过,无论哪种方式都有效。
Yes, ShellExecute needs the Window Handle. The most straightforward solution is to pass it in to your method. I find this a bit ugly though so, personally, I'd consider calling ShellExecute when the method returns. If the call is optional (dependent on data), consider returning a status flag from the method that indicates whether the ShellExecute call is required. Either way works, though.