小编K-m*_*man的帖子

如何在Delphi中实时读取cygwin程序的命令行输出?

我需要阅读最初基于 Linux 的 Cygwin 程序的冗长命令行输出。它在 下工作得很好cmd.exe,每隔几秒打印新行。

当我使用下面的这段代码时(这里已经讨论过很多次了),ReadFile直到该程序停止后,函数才会返回。然后所有输出由 提供ReadFile并打印。

如何使输出一ReadFile可用就被读取?

MSDN 说,直到达到模式或缓冲区已满时ReadFile才会返回。该程序使用 Linux 换行符,而不是 Windows 。我使用了 32 字节的小缓冲区并禁用了(顺便问一下,禁用它的正确方法是什么?)。CRENABLE_LINE_INPUTLFCRLFENABLE_LINE_INPUT

也许ReadFile由于 Cygwin 程序本身的其他问题而不会返回,而不仅仅是LF换行符?但它在 Windows 中工作得很好cmd.exe,为什么在 Delphi 控制台应用程序中不行呢?

const
  CommandExe:string = 'iperf3.exe ';
  CommandLine:string = '-c 192.168.1.11 -u -b 1m -t 8 -p 5001 -l 8k -f m -i 2';
  WorkDir:string = 'D:\PAS\iperf3\win32';// no trailing \
var
  SA: TSecurityAttributes;
  SI: TStartupInfo; …
Run Code Online (Sandbox Code Playgroud)

linux windows delphi cygwin console-application

5
推荐指数
1
解决办法
1846
查看次数

如何在IIS7 64bit中配置Delphi 2010 ISAPI.dll?

使ISAPI DLL在IIS7中工作以查询www.website.com/test/bin/ISAPIGet.dll?a=b所需的最小步骤是什么?请不要参考热门谷歌搜索,它们非常通用,不起作用.我在Delphi2010中编写了非常简单的ISAPIGet.dll,它在IIS5 Win2000中运行良好.然后我把它放在IIS7 SBS2008上,放到C:\ inetpub\wwwroot\website\test\bin文件夹中.创建网站/网页,应用/测试,VirtualDirectory的/ bin中,在对的HandlerMappings/bin中添加脚本映射的*.dll我ISAPIGet.dll,让我在ISAPIandCgiRestrictions DLL,创建32位ApplicationPool不受管理的代码,经典模式,它结合到/测试应用程序.在查询www.website.com/test/bin/ISAPIGet.dll?a=b我遇到各种错误,如500,503(当AppPool失败时),而主页www.website.com正常工作.我还该怎么办?我需要配置web.config文件,在哪里以及如何?

delphi iis-7 isapi

0
推荐指数
1
解决办法
3521
查看次数

标签 统计

delphi ×2

console-application ×1

cygwin ×1

iis-7 ×1

isapi ×1

linux ×1

windows ×1