标签: object-inspector

Object Inspector中的星号是什么意思?

在Delphi的对象检查器中,我在属性名称(ConnectionName*)后面看到一个星号:

对象检查器中的星号

它是如何实现的,最重要的是:它是什么意思?

在TMySQLConnection的源代码中,我没有看到任何特别的东西,所以我想这是一些设计时间的事情?

更新

它与TSQLConnection的内容有关.

要重现,请将下面的代码粘贴到表单上.

经过一些游戏后,我得出结论,当Params属性被编辑时,星号会出现,因此它不再具有默认值.对我来说,如何实现这一目标仍然是个谜.

object SQLConnection1: TSQLConnection
  ConnectionName = 'MySQLConnection'
  DriverName = 'MySQL'
  LoginPrompt = False
  Params.Strings = (
    'DriverUnit=Data.DBXMySQL'

      'DriverPackageLoader=TDBXDynalinkDriverLoader,DbxCommonDriver190.' +
      'bpl'

      'DriverAssemblyLoader=Borland.Data.TDBXDynalinkDriverLoader,Borla' +
      'nd.Data.DbxCommonDriver,Version=19.0.0.0,Culture=neutral,PublicK' +
      'eyToken=91d62ebb5b0d1b1b'

      'MetaDataPackageLoader=TDBXMySqlMetaDataCommandFactory,DbxMySQLDr' +
      'iver190.bpl'

      'MetaDataAssemblyLoader=Borland.Data.TDBXMySqlMetaDataCommandFact' +
      'ory,Borland.Data.DbxMySQLDriver,Version=19.0.0.0,Culture=neutral' +
      ',PublicKeyToken=91d62ebb5b0d1b1b'
    'GetDriverFunc=getSQLDriverMYSQL'
    'LibraryName=dbxmys.dll'
    'LibraryNameOsx=libsqlmys.dylib'
    'VendorLib=LIBMYSQL.dll'
    'VendorLibWin64=libmysql.dll'
    'VendorLibOsx=libmysqlclient.dylib'
    'MaxBlobSize=-1'
    'DriverName=MySQL'
    'HostName='
    'Database='
    'User_Name=xxx'
    'Password='
    'ServerCharSet='
    'BlobSize=-1'
    'ErrorResourceFile='
    'LocaleCode=0000'
    'Compressed=True'
    'Encrypted=False'
    'ConnectTimeout=60')
  Left = 48
  Top = 24
end
Run Code Online (Sandbox Code Playgroud)

delphi delphi-ide delphi-xe5 object-inspector

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

为什么在选择多个项目时会从Object Inspector中隐藏某些属性?

我注意到在选择多个项目时,一些属性会从Object Inspector中消失.

为什么会发生这种情况以及如何在创建组件时控制此行为?

例:

将2个按钮(TButton)添加到表单并选择其中一个.

在此输入图像描述

Object Inspector中,您可以看到所有TButton已发布的属性(请注意,还有Constraints属性).

在此输入图像描述

将另一个按钮添加到当前选择(Shift按键时单击).

在此输入图像描述

如您所见,Object Inspector中隐藏了一些属性(请注意,Constraints不再可见).

在此输入图像描述

delphi components design-time properties object-inspector

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

如何使用对象检查器中的sLineBreak?

目前,我正在设置一个包含sLineBreak常量的字符串作为TLabel控件的Caption属性的值.

MyLabel.Caption := 'A' + sLineBreak + 'B';
Run Code Online (Sandbox Code Playgroud)

sLineBreak在System.pas中定义如下(Delphi 2007):

const
      sLineBreak = {$IFDEF LINUX} #10 {$ENDIF} {$IFDEF MSWINDOWS} #13#10 {$ENDIF};
Run Code Online (Sandbox Code Playgroud)

有没有办法通过使用对象检查器来做同样的事情?(在设计时).

更新: 未来我可能会将这个项目转移到更新的IDE,并将在不同的平台上开发,但目前我没有特别的理由使用sLineBreak而不是#13#10.我很抱歉误会了.

delphi string designer object-inspector

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