草庐IT

python - 桌面开发语言是编译二进制还是脚本语言(windows)?

有没有人使用仅脚本语言的解决方案来生成二进制文件(.exe)来生成用于windows或mac的商业桌面应用程序?例如Java、python等。如果是,您如何分发您的应用程序以及使用脚本语言是否会导致安装出现任何问题?我问的是可以下载应用程序并安装它的用户,他们不知道设置路径变量,或者在那里更改JAVA_HOME。PC的假设用户是使用装有Windows(XP/Vista/7)的消费级PC,而不是高级用户。(或者听听mac类型的解决方案会很有趣) 最佳答案 我已经通过几种方式做到了这一点。一种是使用Python和py2exe,另一个是使

windows - 用户使用阿拉伯/回历日历的 Delphi 问题

我的一些阿拉伯语用户向我报告了我的应用程序出错的问题。他们的共同点似乎是他们正在使用回历和TDateTimePicker控件导致问题(但很可能是整个TDateTime和RTL有问题,我不确定)回历有不同的年份开始/结束,这不太适合我的应用程序。(据我所知,Hijri首先在Windows7中可用。)我重现错误时遇到问题,因为1)我看不懂阿拉伯语,这使它变得更加困难2)我只能在Windows设置为阿拉伯语时选择Hijri(否则它不是一个可见的选项)这里有人遇到同样的问题吗?我使用Delphi2010我可以强制我的应用程序使用标准日历吗?(作为解决方案)或者我可以强制Windows在英文Wi

windows - 如何在非触控 Windows 上测试支持触控的应用程序?

这个问题没有规范的答案(下面的链接。)我有一个使用非VisualStudio环境(Delphi)开发的桌面Windows应用程序,并在VM中运行Windows7,但在其他方面是标准桌面。我想测试一些触摸功能,因此想在桌面Windows上模仿触摸。你是怎么做到的?答案在其他链接中给出:UsetheSurface2SDK.仅当您拥有VS2010时才安装。(我目前安装了VS2013。)InjecttoucheventsviaatouchinjectionAPI.编写您自己的触摸模拟器似乎有点令人惊讶,而且据报道这仅适用于Windows8。UsetheWindowsSimulator.在我的V

windows - SetProcessDpiAwareness 错误代码

我正在添加对SetProcessDpiAwareness窗口函数的调用,作为我的DelphiXE7应用程序中的第一件事(在动态加载shcoreDLL之后)。我知道最好使用list来设置DPIAware值,我已经单独使用它并最终会使用它。但是在开发过程中,我想使用命令行参数来设置DPIAwareness值,否则我必须重建应用程序才能更改此状态。问题是SetProcessDpiAwareness返回错误代码$800700A0。那个函数描述里没有记载,代码是什么意思?啊我找到了,多亏了看参数的答案,我把函数类型声明错了,我有:TSetDPIFunc=function(constPROCESS

windows - SCardEstablishContext 作为服务挂起

当从服务调用时,为什么SCardEstablishContext会挂起,永远不会返回?我的代码在许多Windows安装上都能正常工作。它访问Cherry键盘的智能卡读卡器(6x44)以读取智能卡上的数据。它在大多数已经试用过的PC上运行良好。但是,在某些在西类牙使用西类牙语Windows运行的PC上,SCardEstablishContext函数永远不会返回。我不知道为什么会这样。我在它的两边都记录了日志,但是它后面的日志条目没有出现。然后我无法关闭它(工作线程被卡住了),必须杀死它。如果从应用程序而不是服务运行,则完全相同的线程代码可以正常工作。提供用户而不是系统的服务登录设置没有区

windows - 使用 Dejan TComport Delphi 组件从串口读取二进制数据

很抱歉这个问题,但我对Delphi有点菜鸟。我正在使用DejanTComport组件从串行端口获取数据。连接到该端口的一盒设备向串口发送大约100字节的二进制数据。我想要做的是将字节作为数值提取到一个数组中,以便我可以对它们执行计算。TComport有一个Read(buffer,Count)方法,它从输入缓冲区读取数据。functionRead(varBuffer;Count:Integer):Integer;帮助说明Buffer变量必须足够大以容纳Count个字节,但没有提供任何如何使用此函数的示例。我可以看到Count变量保存接收到的字节数,但我找不到访问Buffer中字节的方法。

windows - TNetSharingManager访问冲突问题

我正在尝试编译这个project在使用TNetSharingManager的Delphi2010中。我已经导入了类型库并尝试编译它,但不幸的是我在这个函数中遇到了访问冲突:functionTNetSharingManager.GetDefaultInterface:INetSharingManager;beginifFIntf=nilthenConnect;Assert(FIntfnil,'DefaultInterfaceisNULL.ComponentisnotconnectedtoServer.Youmustcall"Connect"or"ConnectTo"beforethiso

windows - 递归使用 ReadDirectoryChangesw

我想递归地观察目录中的所有变化,即如果观察C:\我想接收通知C:\1.txtC:\A\1.txt如果我使用启用了watchSubtree选项的ReadDirectoryChanges,它只报告C:\1.txtC:\A它不能递归地工作。如何让它递归工作?我真的需要为每个子目录调用ReadDirectoryChanges吗?如果创建新的子目录/删除子目录怎么办?感谢您的帮助。 最佳答案 可以看看DirectoryWatch有效的组件。我在生产代码中使用它,所以我知道它可以正常工作,即使对于子目录也是如此。

windows - 更改框架的父项后未触发鼠标事件

我正在更改运行时框架的父级,以将框架从一种形式移动到另一种形式。这工作正常,但之后我的组件不再接收鼠标事件。例如,CM_MOUSEENTER和CM_MOUSELEAVE不会被触发。Frame.Parent:=SecondDisplayForm;Frame.Align:=alClient;SecondDisplayForm.Show;我不明白这个效果,我真的不知道要提供什么信息,所以如果你有提示请在这里帮助我。 最佳答案 如NGLN所报告的,它在D7中工作,但在BDS2006中它是可重现的。我发现在cm_mouseenter之后和cm

c++ - 使用 CreateDesktop/SwitchDesktop 在新桌面中创建表单

我需要为实用程序创建一个系统模式表单,该表单应阻止整个窗口,直到输入特定值。所以我正在尝试创建桌面和切换。到目前为止,创建桌面切换到它并返回对我来说效果很好。但是,当我尝试从一个新线程中创建一个表单时,该表单没有显示,但应用程序保留在新创建的空白桌面中,因此在我注销之前永远阻塞屏幕。我是根据此处找到的代码制作的:http://developex.com/blog/system-modal-back///ScreenLocker.h#pragmaonceusingnamespaceSystem;usingnamespaceSystem::Windows::Forms;namespaceD