小编TLa*_*ama的帖子

是否可以在运行时有条件地使用XPManifest?

我试图让用户选择是否要使用主题风格.是否有可能动态"加载"XPManifest?

如果用户接受主题样式,则使用清单,否则使用经典主题.在程序启动后,关闭样式选择的对话框后,我想做类似的事情:

if UserWantsThemedStyle then
  LoadManifestSomehow
else
  UseClassicStyle;
Run Code Online (Sandbox Code Playgroud)

甚至可以在运行时执行它吗?

谢谢

delphi conditional runtime manifest

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

如何在Windows桌面上创建文件快捷方式(*.lnk文件)?

function GetDesktopFolder: string;
var
  buf: array[0..MAX_PATH] of Char;
  pidList: PItemIDList;
begin
  Result := StrNoDesktopFolderFo;
  SHGetSpecialFolderLocation(Application.Handle, CSIDL_DESKTOP, pidList);
  if (pidList <> nil) then
    if (SHGetPathFromIDList(pidList, buf)) then
      Result := buf;
end;

procedure p;
var
  i: Integer;
  IObject: IUnknown;
  ISLink: IShellLink;
  IPFile: IPersistFile;
  PIDL: PItemIDList;
  InFolder: array[0..MAX_PATH] of Char;
  TargetName: string;
  LinkName: string;
begin
  TargetName := 'c:\folder\exeFile.exe';//hardcoded example

  IObject := CreateComObject(CLSID_ShellLink) ;
  ISLink := IObject as IShellLink;
  IPFile := IObject as IPersistFile;

  with ISLink do
  begin
    SetDescription('what ever');
    SetPath(pChar(TargetName)) ;
    SetWorkingDirectory(pChar(ExtractFilePath(TargetName))) ; …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-2009

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

控制在inno设置安装程序中显示多行内容

我想在安装程序的安装步骤中显示如下图所示的内容...我使用备忘录显示内容..但备忘录不适合控制..如果用户将焦点放在备忘录上,它看起来像文本框字段...见下图...当用户进入此步骤时,选择第一个备忘录字段...安装类型

installer inno-setup

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

从单元中删除表单声明是否安全?

在设计a时TForm,会在表单单元中添加一行来声明表单对象...

var
  frmMyForm: TfrmMyForm;
Run Code Online (Sandbox Code Playgroud)

我不需要自动创建这个表单,并且我打算创建它的多个实例,并且为了确保我没有使用这个声明的表单的错误,我评论了它...

//var
  //frmMyForm: TfrmMyForm;
Run Code Online (Sandbox Code Playgroud)

我想知道这样做是否安全?我没有看到任何问题,表单设计师仍然工作正常.但如果我把它完全抛弃,会不会有麻烦?

ide delphi delphi-xe2

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

如何在卸载过程中删除文件夹?

我的程序在中创建文件c:\Users\GameDev\AppData\Local\<my game folder>.是否有可能告诉InnoSetup在卸载过程中删除整个文件夹,即使安装程序没有把它放在那里?

inno-setup

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

如何在Inno Setup中生成新的GUID?

有没有办法从Inno Setup脚本中生成新的GUID?

guid inno-setup

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

如何以编程方式防止Windows硬盘驱动器停止运转?

我的程序在硬盘可用空间上执行任务.任务很长,需要1-2个小时.

问题是,在笔记本电脑上,当用户处于非活动状态时,硬盘可能会在几分钟后关闭.

如何以编程方式防止Windows硬盘关闭(关闭电源)?

windows delphi winapi hard-drive

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

客户端 - 服务器数据库应用程序:如何通知客户端数据已更改?

是否可以知道数据库中某些表的内容何时以及是否已更改?我的SQL Server如何通知客户端应用程序数据被另一个用户更改?如何使用dbGo实现查询通知?

我的客户是否需要轮询数据库,或者是否有回调机制?

我的客户端是Delphi应用程序TADODataSet,我的服务器是SQL Server 2005/2008,为多个客户端提供服务.

sql-server delphi client-server

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

如何使用Office XP主题制作列表框,如选择矩形?

使用Office XP样式显示聚焦/选定列表框项目的最简单,最干净的方法是什么?

请参阅此示例图像以更清晰地显示该想法:

在此输入图像描述

我想我需要将Listbox Style设置为lbOwnerDrawFixed或者lbOwnerDrawVariable然后修改OnDrawItem事件?

这是我被卡住的地方,我不确定在那里写什么代码,到目前为止我试过:

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  with (Control as TListBox).Canvas do
  begin
    if odSelected in State then
    begin
      Brush.Color := $00FCDDC0;
      Pen.Color   := $00FF9933;
      FillRect(Rect);
    end;

    TextOut(Rect.Left, Rect.Top, TListBox(Control).Items[Index]);
  end;
end;
Run Code Online (Sandbox Code Playgroud)

我应该知道这不起作用,我会得到各种各样的时髦事情:

在此输入图像描述

我做错了什么,更重要的是我需要改变什么才能让它发挥作用?

谢谢.

delphi delphi-xe

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

连接字符串中的转义空间

我正在尝试使用ADO连接到SQL Server数据库.密码包含一个空格作为最后一个字符.构建连接字符串时,如何转义密码?

MSDN说它用单引号或双引号,但这似乎不起作用......

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.connectionstring.aspx

这是我的连接字符串的样子:

Provider=SQLOLEDB;Persist Security Info=False;Initial Catalog=master;Data Source=test;uid=john;pwd="123 "
Run Code Online (Sandbox Code Playgroud)

谢谢

sql sql-server delphi ado

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