社区
非技术区
帖子详情
delphi无法运行且不报错,请大牛指导~~
carter91620
2012-08-10 04:28:41
创建了2个窗口form1,form2,form1是主窗口。
在form1窗口显示时进入form2。
但执行程序时,却form1,form2都不能显示。
一步步调试后发现,从form1根本就进不去form2。
求大牛们给解释,给跪了~~~
...全文
240
13
打赏
收藏
delphi无法运行且不报错,请大牛指导~~
创建了2个窗口form1,form2,form1是主窗口。 在form1窗口显示时进入form2。 但执行程序时,却form1,form2都不能显示。 一步步调试后发现,从form1根本就进不去form2。 求大牛们给解释,给跪了~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
天涯看雪
2013-06-25
打赏
举报
回复
怎么解决的啊 我也出现了 是偶尔 卡住 郁闷死
carter91620
2012-08-10
打赏
举报
回复
[Quote=引用 11 楼 的回复:]
莫非vcl引用出问题?你在这调用了label。。我不是大牛。。。
[/Quote]
现在可以确定是在ReadFile()函数这里卡住了~~。。。。
hsfzxjy
2012-08-10
打赏
举报
回复
莫非vcl引用出问题?你在这调用了label。。我不是大牛。。。
carter91620
2012-08-10
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
。。。不应该啊。按理说应没问题。有异常么
[/Quote]
没有啊,什么异常都没有抛出!!!
当我运行的时候,界面窗口都不会弹出来。。
然后我把
WaitForSingleObject(pi.hProcess,INFINITE);
if ReadFile(hReadPipe, dest, SizeOf(dest), BytesRead, nil) then
begin
ProcessLabel.Caption := Copy(string(dest),1,BytesRead);
end;
这些都注释掉然后,就可以运行了,但功能就不是我想要实现的了!
hsfzxjy
2012-08-10
打赏
举报
回复
。。。不应该啊。按理说应没问题。有异常么
carter91620
2012-08-10
打赏
举报
回复
[Quote=引用 7 楼 的回复:]
咳。。不是readfile出问题,是上一句。这是一个阻塞函数。。。不死机才怪。。你要这句作甚?
[/Quote]
我把WaitForSingleObject注释掉,还是会在ReadFile处死掉。。。。
hsfzxjy
2012-08-10
打赏
举报
回复
咳。。不是readfile出问题,是上一句WaitForSingleObject。这是一个阻塞函数。。。不死机才怪。。你要这句作甚?
carter91620
2012-08-10
打赏
举报
回复
补充一下:
RunDos(const CommandLine : string): string;中传进去的是一条DOS的可执行命令。比如说是:ping 127.0.0.1
carter91620
2012-08-10
打赏
举报
回复
补充一下:
RunDos(const CommandLine : string): string;中传进去的是一天DOS的可执行命令。
carter91620
2012-08-10
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
。。。。就form2显示那块,你不给我怎么说。。
[/Quote]
找到了哪出毛病了。但还是不能解决,大牛帮我看看!!!
function TFormProcess.IsWindowsNT: Boolean;
var
osv : OSVERSIONINFO;
begin
osv.dwOSVersionInfoSize := SizeOf(osv);
GetVersionEx(osv);
if osv.dwPlatformId = VER_PLATFORM_WIN32_NT then
begin
Result := True;
end
else
begin
Result := False;
end;
end;
{自定义--运行DOS命令}
function TFormProcess.RunDos(const CommandLine : string): string;
var
sa : TSecurityAttributes;
sd : SECURITY_DESCRIPTOR;
lpsa : PSecurityAttributes;
hReadPipe : THandle;
hWritePipe : THandle;
si : TStartupInfo;
pi : TProcessInformation;
dest : array [0..4095] of Char;
BytesRead : DWORD;
begin
Result := '调用失败';
lpsa := nil;
if (IsWindowsNT) then
begin
InitializeSecurityDescriptor(@sd,SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(@sd,True,nil,False);
sa.nLength := SizeOf(SECURITY_ATTRIBUTES);
sa.bInheritHandle := True;
sa.lpSecurityDescriptor := @sd;
lpsa := @sa;
end;
Assert(CreatePipe(hReadPipe,hWritePipe,lpsa,0));
GetStartupInfo(si);
si.cb := SizeOf(TStartupInfo);
si.dwFlags := STARTF_USESHOWWINDOW + STARTF_USESTDHANDLES;
si.wShowWindow := SW_HIDE;
si.hStdOutput := hWritePipe;
si.hStdError := hWritePipe;
CreateProcess(
nil,
PChar(CommandLine),
nil, nil, True,
0, nil, nil,
si, pi
);
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess,INFINITE);
if ReadFile(hReadPipe, dest, SizeOf(dest), BytesRead, nil) then
begin
ProcessLabel.Caption := Copy(string(dest),1,BytesRead);
end;
CloseHandle(hReadPipe);
CloseHandle(hWritePipe);
Closehandle(pi.hProcess);
end;
是在ReadFile(hReadPipe, dest, SizeOf(dest), BytesRead, nil);程序一直在执行这条语句,死在了这里。
大牛帮我看看,该如何解决。。。。。
hsfzxjy
2012-08-10
打赏
举报
回复
。。。。就form2显示那块,你不给我怎么说。。
carter91620
2012-08-10
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
给代码
[/Quote]
代码比较长。不好发啊~~~~(>_<)~~~~
hsfzxjy
2012-08-10
打赏
举报
回复
给代码
python程序
运行
不爱结果、但是没有
报错
-Python和Ruby语言对比
一、异同对比选择1、Python和ruby的相同点:* 都强调语法简单,都具有更一般的表达方式。python是缩进,ruby是类basic的表达。都大量减少了符号。* 都是动态数据类型。都是有丰富的数据结构。* 都具有C语言扩展能力,都具有可移植性,比perl的可移植性更好。也都可以作为嵌入语言。* 都是面向对象的语言,都可以作为大项目的开发工具。* 都有丰富的库支持。* 也有最宽松的版权许可,除...
经典的大牛博客推荐
大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki AndroidStudio-NDK开发-移动开发团队 谦虚的天下 - 博客园 gundumw100博客 - android进阶分类文章列表 - ITeye技术网站 CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯 Android笔记本——半年...
一些大牛的博客推荐,排名不分先后
今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下(转载于:http://blog.csdn.net/wujxiaoz/article/details/8237096) Android中文Wiki AndroidStudio-NDK开发-移动开发团队 谦虚的天下 - 博客园 gundumw100博客 - android进阶分类文章列表 - ITeye技术网站 CSDN博文精选
Android经典的大牛博客推荐(排名不分先后)!!
Android中文Wiki AndroidStudio-NDK开发-移动开发团队 谦虚的天下 - 博客园 gundumw100博客 - android进阶分类文章列表 - ITeye技术网站 CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯 Android笔记本——半年来的研究笔记,导航。 - 思想实践地 - CSDN博客 【魏祝林】Andr...
大牛的博客,跟大牛学习
今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下(转载于:http://blog.csdn.net/wujxiaoz/article/details/8237096) Android中文Wiki AndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Andro
非技术区
828
社区成员
53,611
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章