小编Pau*_*rda的帖子

安装和运行pywin32 2.7时出错

安装后我想出了几个错误:

pywin32-217.win32-py2.7

我最近将ArcGIS升级到10.1,它使用的是Python 2.7(而不是ArcGIS 10.0附带的2.6)

当我在Windows 7 64位上运行安装程序时,它会安装,但会抛出以下消息:

在文件对象析构函数中关闭失败:

缺少sys.excepthook

丢失了sys.stderr

我有一个简单的python脚本从包含.pdf文件的文件夹打印到打印机,这些文件在升级之前有效

import arcpy, glob, win32api, os

pdfLoc = arcpy.GetParameterAsText(0)

try:
    copies = int(arcpy.GetParameter(1))
except:
    copies = 1

for pdfname in glob.glob(os.path.join(pdfLoc, "*.pdf")):
    fullpath = os.path.join(pdfLoc, pdfname)
    for copy in range(copies):
        win32api.ShellExecute(0, "print", pdfname, None, ".", 0)

del fullpath
del pdfname
del pdfLoc
Run Code Online (Sandbox Code Playgroud)

现在,当我运行脚本时,我收到以下错误:

回溯(最近一次调用最后一次):文件"Z:\ ESRI\Python\Solstice_Tools_Scripts\Printer_Tools\Batch_Print_From_PDF_Only\BatchprintFromPDFOnly_Test.py",第34行,在win32api.ShellExecute(0,"print",pdfname,None,".", 0)错误:(31,'ShellExecute','连接到系统的设备无法运行.')

无法执行(BatchPrintFromPDFOnly2).

我一直在谷歌搜索并尝试了一些解决方案,比如在故障排除模式下运行可执行文件,但错误仍然存​​在.谁能提出可能导致这种情况的人?

作为旁注,我将公司中的4台计算机升级到新版本的python和ArcGIS,其中只有一台是抛出此错误.其余的工作正常.

谢谢,迈克

python installation winapi pywin32

17
推荐指数
4
解决办法
2万
查看次数

SetWindowSubclass将ANSI窗口更改为UNICODE

SetWindowSubClass()应该改变的ANSI窗口为UNICODE寡妇?我没有在文档或网络上找到有关此行为的任何内容.

我创建了一个测试应用程序(完整源代码),只是为了说明SetWindowSubclass(我相信)如何将受影响窗口的类型从ANSI更改为UNICODE,因为它不应该!IsWindowUnicode()确认了变化.

 program TwoWaySubclassing;

 {$apptype gui}
 {$R Generic.res}                          

 {
 { I created this test application just to illustrate how SetWindowSubclass()
 { changes -- I believe -- the type of the affected window from ANSI to UNICODE,
 { as it shouldn't! IsWindowUnicode() confirms that.
 {
 { The Delphi 7 (all ANSI) application has 2 edit controls:
 {   1. The smaller, which is subclassed in 2 switchable ways (called Modes).
 {   2. …
Run Code Online (Sandbox Code Playgroud)

delphi unicode winapi sendmessage subclassing

7
推荐指数
1
解决办法
582
查看次数

在Windows平板电脑上与Delphi VCL长时间接触

我为在Windows 8.1平板电脑上运行的VCL应用程序创建了一个TCustomControl派生类.

我正在使用OnMouseDown/OnMouseUp事件,即使这显然是基于触摸的.

我想做的是检测长按 - 即触摸并保持1秒钟.因此,在OnMouseDown事件中,我记录了向下时间戳,设置一个标志以指示鼠标已关闭并创建一个休眠1秒的匿名线程,然后检查该标志.

OnMouseUp中,我将标志设置为false.

只要您在控件上摆动手指,这就可以正常工作.否则,如果您只是触摸并按住鼠标,则在释放手指之前不会调用事件.

我看一下手势,但这看起来完全矫枉过正,而且据我所知不支持长按.

谢谢你的任何建议.

理查德

delphi vcl touch windows-8.1

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

Delphi格式字符串 - 宽度和精度值的限制?

本声明(在Delphi 7中)

writeln(logfile,format('%16.16d ',[FileInfo.size])+full_name);
Run Code Online (Sandbox Code Playgroud)

得到这个输出

0000000021239384 C:\DATA\DELPHI\sxf_archive10-13.zip
Run Code Online (Sandbox Code Playgroud)

这个说法

writeln(logfile,format('%17.17d ',[FileInfo.size])+full_name);
Run Code Online (Sandbox Code Playgroud)

得到这个输出

         21239384 C:\DATA\DELPHI\sxf_archive10-13.zip
Run Code Online (Sandbox Code Playgroud)

当精度说明符大于16时,带前导零的填充变为前导空格.帮助说"如果格式字符串包含精度说明符,则表示结果字符串必须至少包含指定的位数;如果值数字较少,结果字符串左边用零填充."

是否有另一种方法来格式化带有前导零的20个字符的整数?

delphi formatting delphi-7 number-formatting

2
推荐指数
1
解决办法
3959
查看次数