安装后我想出了几个错误:
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,其中只有一台是抛出此错误.其余的工作正常.
谢谢,迈克
是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) 我为在Windows 8.1平板电脑上运行的VCL应用程序创建了一个TCustomControl派生类.
我正在使用OnMouseDown/OnMouseUp事件,即使这显然是基于触摸的.
我想做的是检测长按 - 即触摸并保持1秒钟.因此,在OnMouseDown事件中,我记录了向下时间戳,设置一个标志以指示鼠标已关闭并创建一个休眠1秒的匿名线程,然后检查该标志.
在OnMouseUp中,我将标志设置为false.
只要您在控件上摆动手指,这就可以正常工作.否则,如果您只是触摸并按住鼠标,则在释放手指之前不会调用事件.
我看一下手势,但这看起来完全矫枉过正,而且据我所知不支持长按.
谢谢你的任何建议.
理查德
本声明(在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 ×3
winapi ×2
delphi-7 ×1
formatting ×1
installation ×1
python ×1
pywin32 ×1
sendmessage ×1
subclassing ×1
touch ×1
unicode ×1
vcl ×1
windows-8.1 ×1