草庐IT

android - 常量字符串参数和适用于 Android 的 Delphi XE5 编译器

希望我只是遗漏了一些明显的东西,但我似乎发现在使用DelphiXE5Android编译器时常量字符串参数被破坏了。测试代码:1)创建一个新的空白移动应用程序项目。2)添加TButton到表格,并创建一个OnClick它的处理程序。3)像这样填写处理程序:procedureTForm1.Button1Click(Sender:TObject);beginGoToDirectory(PathDelim+'alpha'+PathDelim+'beta');GoToDirectory(FParentDir);end;4)在表单类声明中,添加两个字段和一个方法,如下所示:FCurrentPath

android - 如何在 Delphi-XE5 Firemonkey 应用程序中关闭 android 应用程序?

我有这段代码procedureTFormMain.FormCloseQuery(Sender:TObject;varCanClose:Boolean);varmsg:String;beginmsg:='Doyoureallywanttoexit?';ifMessageDlg(msg,TMsgDlgType.mtConfirmation,[TMsgDlgBtn.mbYes,TMsgDlgBtn.mbNo],0)=mrNothenCanClose:=FalseelseCanClose:=True;{FIXME:don'twanttoworkonAndroid}end;它在Windows上完

android - 如何使用 Delphi XE5 在 Android 上访问 OpenGL 渲染上下文?

在使用DelphiXE5开发应用程序时,如何在Android设备上创建OpenGL渲染上下文?基本上我不知道从哪里开始。目前还没有OpenGL示例。我希望存在的东西:某种事件(Panel.OnRender)可以提供我可以在其中调用OpenGL调用的现有上下文。可以放置在窗体设计器中的通用TOpenGLSurface控件一种在运行时在主窗体上创建上下文的方法。根据我目前的研究,TWindowManager.Render可以访问OpenGL调用并使用它们来呈现弹出窗口。编辑:将计时器添加到表单并调用此过程会使屏幕充满绿色,这意味着GL上下文已经存在:procedureTForm1.Time

c++ - 解码抛出的 C++ 异常的参数 (0xE06D7363)

我有一个崩溃转储文件(我的32位Windows应用程序在客户计算机上崩溃了)。异常代码是0xE06D7363。所以,我找到了这个article来自关于解码异常参数的MSDN博客。但是文章中的一个食谱对我不起作用:0:000>.exr-1ExceptionAddress:753ad36f(KERNELBASE!RaiseException+0x00000058)ExceptionCode:e06d7363(C++EHexception)ExceptionFlags:00000001NumberParameters:3Parameter[0]:19930520Parameter[1]:00

windows - Delphi XE5 中的 ShowMessage 缩写

DelphiXE5中的ShowMessage()缩短文本。这对我来说是新的,还是由于编码url时的编码字符?我需要看到整个事情。我使用以下函数对我的url进行编码:functionTConnector.EncodeUrl(aDecodedUrl:String):String;beginresult:=tIdUri.URLEncode(aDecodedUrl);end;然后我在这里打电话:zEncodedUrl:=Connector.EncodeUrl('http://'+Connector.Host+'Node:'+edtPath.Text+'.GetObjectListDataAsJ

windows - 在 64 位 XE6 中从 Windows 回调返回结果

我有一些代码使用EnumFontFamiliesEX来确定是否安装了特定字体(使用其“facename”)。该代码在32位中运行良好。当我以64位编译和运行它时,它一直在回调例程中抛出异常。我现在已经让它在这两个下工作,但前提是我没有将函数FindFontbyFaceName的结果作为第四个参数传递给EnumFontFamiliesEX,而是传递了一个本地(或全局)变量-在这种情况下为MYresult。(然后从中设置结果)。我不明白这是怎么回事?谁能解释或指出我更好的方法。(我对字体的机制不太感兴趣,而是对基本的回调机制感兴趣)。//singlefontfindcallbackfunc

windows - 使用 Delphi XE 的多模态对话框问题

这是我的问题。我让主应用程序运行并打开模式对话框1,此时主应用程序屏幕已禁用,所有焦点都集中在新对话框1上。我从这个对话框1打开另一个模态对话框2。所以现在主屏幕和dialog1被禁用,这个dialog2拥有所有焦点。到目前为止完美。现在,当我关闭这个顶部dialog2时,我希望它只是跳回到dialog1。它专注于dialog1,但它现在启用了主应用程序,您可以单击任何发送dialog1的地方,但保持打开状态。这会导致1%的问题,即用户不会立即关闭dialog1而是继续点击。你可以想象QA不喜欢这样;o)看起来Windows变得有点困惑,因为主应用程序似乎知道它仍然打开了dialog1

windows - Delphi XE2 将 Application.MainForm.Handle 分配给 DLL 中的 Application.Handle

我对从DLL内部创建的表单有一个小问题。基本上,当显示来自dll的表单(Form1)(我认为它必须保持在顶部)并且您打开另一个与主应用程序分开的表单(Form2)(即不在内部)时,会发生什么dll)。如果将光标放在Form2上的控件上以显示提示,则Form2将立即移到Form1后面。只有当MainFormOnTaskBar为true时才会发生这种情况。目前我们正在将主应用程序的Application.Handle传递给DLL,并将其分配给DLL的Application.Handle。我已设法通过将Application.MainForm.Handle传递给DLL以分配给DLL中的App

windows - Delphi XE 和使用 OnKeyDown 捕获箭头键

我希望我的表单能够处理箭头键,而且我可以做到——只要表单上没有按钮。这是为什么? 最佳答案 关键消息由接收这些消息的控件本身处理,这就是为什么当您在按钮上时表单没有收到消息。所以通常你必须对这些控件进行子类化,但VCL足够友好地询问父级表单如果表单感兴趣该怎么做:typeTForm1=class(TForm)..privateprocedureDialogKey(varMsg:TWMKey);messageCM_DIALOGKEY;..procedureTForm1.DialogKey(varMsg:TWMKey);beginifn

mysql - Oracle XE 或 MySQL,我应该选择哪一个?

我要开发一个SNS网站。现在我需要在OracleXE和MySQL之间做出决定。我知道你们是一群专家。您能就此发表一些评论吗?祝福亚里索 最佳答案 我会考虑的事情:1)您有没有想过大规模扩大规模?如果是这样的话,Oracle将提供一条通往大规模可扩展平台的非常直接的途径(您几乎可以只备份数据库并将其恢复到完整的Oracle实例)。2)您打算适度扩展吗?如果是这样,那么OracleXE被限制为4Gb的总数据库大小,而MySQL可以在更大的情况下合理地执行。3)OracleXE的其他限制是否会影响您?例如,它将只支持1Gb的RAM和1个C