Delphi
对于DELPHI win32,什么是最好的GRID和TREE控件?它也应该是DB-Aware。 我已经使用了DBGrid,但是它非常有限,并且将很多新功能 DevExpress作为令人印象深刻的工具和功能集合,但价格非常高。 什么是您的GRID / TREE的优缺点,当然还有其价格标签。 解决方案 我有DevExpress VCL订阅,虽然初始价格似乎很高,但价值是很好的,更新是合理
..
我们有很多dll库用delphi和c ++构建器编写,并使用sharemem和borlndmm.dll。 第3方库中的一个分配问题有人可以为我解释“共享内存管理器”吗? 是SimpleShareMem的一个替换代码对于ShareMem? 我们可以停止部署borlndmm.dll吗? 我们还要用c ++ - 库做些什么? 可以有些库使用ShareMem和一些Simple
..
如何使用IHTTPNegotiate向请求添加额外的标题?我添加了界面,但功能 BeginningTransaction& OnResponse 永远不会被调用。 TNameSpaceHandler = class(TComObject,IInternetProtocol,IHttpNegotiate) ... 函数BeginningTransaction(szURL,szHeader
..
我开发了以下函数将字符串转换为十六进制值。 function StrToHex(const S:String):String; const HexDigits:Char ='0123456789ABCDEF'的数组[0..15]; var I:整数; P1:PChar; P2:PChar; B:字节; begin SetLength(Result,L
..
我使用的是Delphi XE2的TButtonedEdit,但是我想为历史记录添加一个下拉列表(像TComboBox)。我知道TComboBox是一个荣耀的TEdit,所以有一个消息我可以发送到TButtonedEdit添加这个功能吗?谢谢。 解决方案 您可以使用 IAutoComplete2 接口来完成此任务。 p> 检查此示例代码(适用于 TButtonedEdit 和Delph
..
我正在尝试使Delphi应用程序与AlwaysOn解决方案一起使用。我在Google上发现,我必须在连接字符串中使用 MultiSubnetFailover = True 。 应用程序是在Delphi中编译的XE3并使用 TADOConnection 。 如果我使用 Provider = SQLOLEDB 在连接字符串中,应用程序启动,但它看起来像 MultiSubnetFailove
..
有没有办法,删除我的firemonkey应用程序窗体Windows XP / vista / 7任务栏? 问题: 如何隐藏Windows任务栏中dll中的表单。 解决方案 注意: Talibek 在问题中回答了自己的问题,为了清楚起见,我已经在这里移动了。 您需要获取主窗体句柄( Form1.Handle ),因为在firemonkey中没有Application.han
..
假设我们得到以下内容: IFirst = Interface(IUnknown) function GetStuff:Integer ; 结束 ISecond = Interface(IUnknown) 函数GetOtherStuff:Integer; 结束 TFirstSecond = class(TInterfacedObject,IFirst,ISecond) p
..
我有一个带有进度指标的主窗体。 在数据模型中,我有十个数据集,每个都有一个定义的OnBeforeOpen事件。 我想通过主窗体中的进度条显示开放数据集进度的百分比。 由于我完全是多线程编程的新手,有人可以给我一些建议吗? 非常感谢 解决方案 从线程发布到主线程的消息,并更新进度条,或使用TThread.Queue方法在主线程的上下文中执行一些代码。 unit U
..
我想通过SDL_CreateWindowFrom函数创建一个定制的VCL控件来包装SDL渲染表面。 SDL_CreateWindowFrom采用现有的HWND句柄,并提供高性能的渲染上下文(它有几个后端可用,包括DirectX和OpenGL)。 帮助文件说“不要在组件创建或流媒体过程中,请参阅Handle属性。但是不说为什么。它表示您第一次尝试访问Handle属性时,会调用HandleNee
..
我之前曾经讨论过: http://stackoverflow.com/a/42156860/937125 我不太明白为什么在这种情况下, Abort 比调用 Exit 更好。我倾向于不在我的代码流中使用它。我认为这是一个不好的做法,对代码流不利。 但@ David在评论中的发言让我想知道是否可能我缺少某些东西: 没有一个无声的例外,怎么会当深度 在调用堆栈下时,您中止操作。例如,如何使
..
我正在为正在开发的Delphi项目寻找一个预编写的组件(w / source),以生成类似于以下的思维导图/概念映射: http://en.wikipedia.org/wiki/Image :MindMeister_screenshot_OS_X.jpg http://en.wikipedia。 org / wiki / Image:XMIND_2008_in_Windows_Vista.
..
VMWare配置文件包含一行,如 uuid.bios =“56 4d ed cf 3c cd 63 20-53 78 95 86 26 92 22 c8“ 最多(每个?)物理BIOS有这样一个UUID。有没有Windows API调用来获取此标识符? 我尝试过WMI类Win32_ComputerSystemProduct.UUID属性,但该值与uuid.bios值
..
我尝试过: $ b如何使我的非模态表单永远在我的主窗体之上? $ b procedure TForm3.CreateParams(var Params:TCreateParams); begin 继承CreateParams(Params); Params.WndParent:= Application.MainForm.Handle; 结束 这似乎工作正常。这是
..
任何人都可以为我提供通过参数传递任意数量的字节 到dll函数的工作示例? 我想做没有任何额外的内存单元,只能在基本的Windows类型下运行。 我需要“发送”每个呼叫约300 kb的数据。 客户端上分配的内存是否也可以在客户端空闲? 解决方案 函数应该如下所示: procedure Test(Buffer:Pointer; Length:Integer);标准
..
可以以某种方式监控管道任务吗?我试图添加显示器到每个任务像这样 FPipeline:= Parallel.Pipeline() .Stage(StageWorker1 ,Parallel.TaskConfig.MonitorWith(MyMonitor)) .NumTasks(MaxReadThreadCount) .Stage(StageWorker2,Parallel.TaskC
..
我有一个类层次结构,每个类对应一个特定的TComponent后代(分别为基类TDefaultFrobber,后代为TActionFrobber和TMenuItemFrobber,分别对应于TComponent,TCustomAction和TMenuItem)。现在我想要一个这样的工厂(?)函数: 函数CreateFrobber(AComponent:TComponent):IFrobber;
..
我一直在Delphi VCL自定义控件中包装核心的OpenGL功能。目前,我正在使用在此控件内创建的 TTimer 进行循环。我强烈地觉得使用定时器是完全错误的,因为绘图可能会重叠并有延迟。相反,我想把这个绘图循环放在一个线程中。请参阅我的原始问题,其中包含一些问题闪烁 - 我把责任归咎于我正在使用的 TTimer 。 问题 OpenGL是否可以安全地使用线程内部?我应该注意什么?我打
..
function GetDesktopFolder:string; var buf:数组[0..MAX_PATH]的char; pidList:PItemIDList; begin 结果:= StrNoDesktopFolderFo; SHGetSpecialFolderLocation(Application.Handle,CSIDL_DESKTOP,pidList);
..
我想在构建事件中检测构建目标,即 make 或 build 。 我有一个预构建事件,可以将多个C文件编译成对象(.obj),然后将其包含在我的一个Pascal文件中。每次构建前事件运行时,C文件都将被编译。如果构建目标是 make ,并且对象是最新的,我希望能够跳过此阶段。 在编辑/编译/调试开发模式下,能够跳过这个阶段可以大大减少编译时间。 所以,是否可以检测构建目标?
..