小编Hwa*_*wau的帖子

哪种终止delphi应用程序的正确方法?

我想终止一个Delphi应用程序而不执行任何其他代码行,我想知道哪个是正确的方法来执行此操作.此外,我想知道我现在正在做的事情是否有问题.基本上,我的代码看起来像这样:

//Freeing all objects (Obj1.Free, etc..)
Application.Terminate;
Halt;
Run Code Online (Sandbox Code Playgroud)

这是停止Delphi应用程序的正确方法还是以其他方式完成?

delphi halt terminate

19
推荐指数
2
解决办法
3万
查看次数

WinExec和ShellExecute之间有哪些区别?

我需要执行另一个应用程序,我想知道我是否应该使用WinExec而不是ShellExecute反之亦然.

两种方法有哪些区别?是否应该首选?

winapi

6
推荐指数
1
解决办法
3224
查看次数

如何将字符串元素数组连接成一个字符串

如何将字符串数组转换为字符串(使用分隔符char)?我的意思是,是否有一些系统功能我可以使用而不是编写自己的功能?

arrays delphi string string-concatenation delphi-2007

6
推荐指数
2
解决办法
5285
查看次数

在Delphi中以名字命名

我想编写一个接受类名并产生相应结果的函数TClass.我注意到,System.Classes.GetClass如果没有注册classname ,函数不起作用.

例:

if(GetClass('TButton') = nil)
then ShowMessage('TButton not found!')
else ShowMessage('TButton found!');
Run Code Online (Sandbox Code Playgroud)

以前的代码总是显示:

没找到TButton!

有什么遗失的吗?

delphi get class classname

3
推荐指数
1
解决办法
4341
查看次数

使用delphi 2007对base64和Decode base64进行编码

我必须在旧的Delphi 2007上将一个字节数组编码为base64字符串(并解码此字符串).我该怎么办?

更多信息:

我已经尝试过synapse(正如这里建议Binary到Base64(Delphi)).

delphi base64 encoding decoding delphi-2007

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

如何检查表单关闭按钮的状态(启用/禁用)

我正在禁用并启用表单的关闭按钮,如下面的代码所示:

uses WinApi.Windows;
...
//disabling
EnableMenuItem(GetSystemMenu(MyForm.Handle, False), SC_CLOSE, MF_BYCOMMAND OR MF_DISABLED);
//enabling
EnableMenuItem(GetSystemMenu(MyForm.Handle, False), SC_CLOSE, MF_BYCOMMAND OR MF_ENABLED);
Run Code Online (Sandbox Code Playgroud)

我正在尝试检查关闭按钮当前是启用还是禁用.检查这个MSDN页面后,我写了这段代码:

var
  ItemInfo : TMenuItemInfo;
  MyForm : TForm;
begin
  MyForm := GetAFormInSomeWay();
  ItemInfo.fMask := MIIM_STATE;
  GetMenuItemInfo(GetSystemMenu(MyForm.Handle, False), SC_CLOSE, False, ItemInfo);
  if(ItemInfo.fState = MFS_ENABLED)
  then ShowMessage('Enabled')
  else ShowMessage('Disabled');
Run Code Online (Sandbox Code Playgroud)

它始终显示"已禁用"(ItemInfo.fState始终为5395358).我究竟做错了什么?

更新:

现在它可以了,感谢您的建议.

uses
  WinApi.Windows, Vcl.Forms, System, System.SysUtils;

...

var
  ItemInfo : TMenuItemInfo;
  MyForm : TForm;
  SystemMenu : HMENU;
begin
  MyForm := GetAFormInSomeWay();
  ItemInfo.fMask := MIIM_STATE;
  ItemInfo.cbSize := SizeOf(MENUITEMINFO);

  SystemMenu := GetSystemMenu(MyForm.Handle, False); …
Run Code Online (Sandbox Code Playgroud)

delphi winapi

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

如何检查对象是否已分配给整数变量

我将对象和整数值分配给整数变量:

MyIntegerValue := Integer(MyObject);
MyIntegerValue := 2;
MyIntegerValue := 500;
...
Run Code Online (Sandbox Code Playgroud)

如何检查是否已为MyIntegerValue分配了有效对象?

delphi casting variable-assignment

0
推荐指数
1
解决办法
888
查看次数