编译器完成编译后出现警告 "Symbol TMemoryManager is deprecated"
Warning "Symbol TMemoryManager is deprecated" appears AFTER the compiler is done compiling
我在 "Messages" 面板中收到几个警告,在我编译我的源代码之后,在编译器的 [Success] 消息之后。
有时当我将光标放在 keyword/variable 上并且代码洞察弹出窗口出现在屏幕上(编译后)时,有时会出现,有时不会。出现是随机的(警告可能出现也可能不出现)。基本上,它取决于 IDE.
中的光标位置
[警告] W1000 符号 'TVariantManager' 已弃用
[警告] W1000 符号 'TMemoryManager' 已弃用:'Use TMemoryManagerEx'
[警告] W1000 符号 'TSingleRec' 已弃用:'Use TSingleHelper'
[警告] W1000 符号 'TDoubleRec' 已弃用:'Use TDoubleHelper'
双击邮件时没有任何反应。
知道是什么原因造成的吗?
由于这是在编译完成后出现的,我想它应该是我拥有的插件之一(GExpers、CnPack、Andy's),但直到现在我才看到它。
终于有一个解释了。这是我的 IDE:
的构建 window 的一些输出
Checking project dependencies...
Compiling Foo.dproj (Debug, Win32)
dcc command line for "Foo.dpr"
..... // spurious details removed
Success
Elapsed time: 00:00:05.2
[Error] E1000 Symbol 'TImageIndex' is deprecated: 'Use System.UITypes.TImageIndex'
[Error] E1000 Symbol 'CM_THEMECHANGED' is deprecated: 'Use CM_STYLECHANGED'
[Error] E1000 Symbol 'RaiseList' is deprecated: 'Use AcquireExceptionObject'
[Error] E1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx'
[Error] E1000 Symbol 'Release' is deprecated
[Error] E1000 Symbol 'ThemeServices' is deprecated: 'Use StyleServices'
[Error] E1000 Symbol 'faVolumeID' is deprecated
[Error] E1000 Symbol 'GetHeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'THeapStatus' is deprecated
[Error] E1000 Symbol 'TScrollStyle' is deprecated: 'Use System.UITypes.TScrollStyle'
当我尝试使用 CTRL + 单击导航到我的源代码中的符号定义时,出现了这组特定的错误。然后发生的是 IDE 使用其内部 parsers/compilers 之一来理解代码并准确计算出这是哪个符号。这个内部 parsers/compilers 是在 Delphi 中编写的,并发出提示、警告和错误,这些提示、警告和错误落在主要 IDE 构建 window.
中
我知道你看到的具体的一组warning和我的在内容上有所不同,但是我相信根本原因在原理上是一样的。其中一位内部 parsers/compilers 发出了这些消息,因此它们与您的代码内容完全无关。
大卫回答的附录。触发这种奇怪行为的另一件事是重构。这是我在尝试应用 'Pull members up' 重构失败后得到的结果。
Checking project dependencies...
..... // spurious details removed
Success
Elapsed time: 00:00:01.9
[Warning] W1000 Symbol 'vmtEquals' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtGetHashCode' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtToString' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtSafeCallException' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtAfterConstruction' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtBeforeDestruction' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDispatch' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDefaultHandler' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtNewInstance' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtFreeInstance' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDestroy' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtQueryInterface' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtAddRef' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtRelease' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtCreateObject' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'TVariantManager' is deprecated
[Warning] W1000 Symbol 'TVariantManager' is deprecated
[Warning] W1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx'
[Warning] W1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx'
[Warning] W1000 Symbol 'THeapStatus' is deprecated
[Warning] W1000 Symbol 'THeapStatus' is deprecated
[Warning] W1000 Symbol 'HPrevInst' is deprecated
[Warning] W1000 Symbol 'AllocMemCount' is deprecated
[Warning] W1000 Symbol 'AllocMemSize' is deprecated
[Warning] W1000 Symbol 'TSingleRec' is deprecated: 'Use TSingleHelper'
[Warning] W1000 Symbol 'TSingleRec' is deprecated: 'Use TSingleHelper'
[Warning] W1000 Symbol 'TDoubleRec' is deprecated: 'Use TDoubleHelper'
[Warning] W1000 Symbol 'TDoubleRec' is deprecated: 'Use TDoubleHelper'
[Warning] W1000 Symbol 'TextStart' is deprecated
[Warning] W1000 Symbol 'GetHeapStatus' is deprecated
[Warning] W1000 Symbol 'RaiseList' is deprecated: 'Use AcquireExceptionObject'
[Warning] W1000 Symbol 'SetRaiseList' is deprecated: 'Use AcquireExceptionObject'
[Warning] W1000 Symbol 'Mark' is deprecated
[Warning] W1000 Symbol 'Release' is deprecated
[Warning] W1000 Symbol 'FPower10' is deprecated: 'Use Power10'
[Warning] W1000 Symbol 'GetVariantManager' is deprecated
[Warning] W1000 Symbol 'SetVariantManager' is deprecated
[Warning] W1000 Symbol 'IsVariantManagerSet' is deprecated
[Warning] W1000 Symbol 'UTF8Decode' is deprecated: 'Use UTF8ToWideString or UTF8ToString'
我们可以再次看到对 'TMemoryManagerEx' 的引用。
我在 "Messages" 面板中收到几个警告,在我编译我的源代码之后,在编译器的 [Success] 消息之后。
有时当我将光标放在 keyword/variable 上并且代码洞察弹出窗口出现在屏幕上(编译后)时,有时会出现,有时不会。出现是随机的(警告可能出现也可能不出现)。基本上,它取决于 IDE.
中的光标位置[警告] W1000 符号 'TVariantManager' 已弃用
[警告] W1000 符号 'TMemoryManager' 已弃用:'Use TMemoryManagerEx'
[警告] W1000 符号 'TSingleRec' 已弃用:'Use TSingleHelper'
[警告] W1000 符号 'TDoubleRec' 已弃用:'Use TDoubleHelper'
双击邮件时没有任何反应。
知道是什么原因造成的吗?
由于这是在编译完成后出现的,我想它应该是我拥有的插件之一(GExpers、CnPack、Andy's),但直到现在我才看到它。
终于有一个解释了。这是我的 IDE:
的构建 window 的一些输出Checking project dependencies... Compiling Foo.dproj (Debug, Win32) dcc command line for "Foo.dpr" ..... // spurious details removed Success Elapsed time: 00:00:05.2 [Error] E1000 Symbol 'TImageIndex' is deprecated: 'Use System.UITypes.TImageIndex' [Error] E1000 Symbol 'CM_THEMECHANGED' is deprecated: 'Use CM_STYLECHANGED' [Error] E1000 Symbol 'RaiseList' is deprecated: 'Use AcquireExceptionObject' [Error] E1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx' [Error] E1000 Symbol 'Release' is deprecated [Error] E1000 Symbol 'ThemeServices' is deprecated: 'Use StyleServices' [Error] E1000 Symbol 'faVolumeID' is deprecated [Error] E1000 Symbol 'GetHeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'THeapStatus' is deprecated [Error] E1000 Symbol 'TScrollStyle' is deprecated: 'Use System.UITypes.TScrollStyle'
当我尝试使用 CTRL + 单击导航到我的源代码中的符号定义时,出现了这组特定的错误。然后发生的是 IDE 使用其内部 parsers/compilers 之一来理解代码并准确计算出这是哪个符号。这个内部 parsers/compilers 是在 Delphi 中编写的,并发出提示、警告和错误,这些提示、警告和错误落在主要 IDE 构建 window.
中我知道你看到的具体的一组warning和我的在内容上有所不同,但是我相信根本原因在原理上是一样的。其中一位内部 parsers/compilers 发出了这些消息,因此它们与您的代码内容完全无关。
大卫回答的附录。触发这种奇怪行为的另一件事是重构。这是我在尝试应用 'Pull members up' 重构失败后得到的结果。
Checking project dependencies...
..... // spurious details removed
Success
Elapsed time: 00:00:01.9
[Warning] W1000 Symbol 'vmtEquals' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtGetHashCode' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtToString' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtSafeCallException' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtAfterConstruction' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtBeforeDestruction' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDispatch' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDefaultHandler' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtNewInstance' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtFreeInstance' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtDestroy' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtQueryInterface' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtAddRef' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtRelease' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'vmtCreateObject' is deprecated: 'Use VMTOFFSET in asm code'
[Warning] W1000 Symbol 'TVariantManager' is deprecated
[Warning] W1000 Symbol 'TVariantManager' is deprecated
[Warning] W1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx'
[Warning] W1000 Symbol 'TMemoryManager' is deprecated: 'Use TMemoryManagerEx'
[Warning] W1000 Symbol 'THeapStatus' is deprecated
[Warning] W1000 Symbol 'THeapStatus' is deprecated
[Warning] W1000 Symbol 'HPrevInst' is deprecated
[Warning] W1000 Symbol 'AllocMemCount' is deprecated
[Warning] W1000 Symbol 'AllocMemSize' is deprecated
[Warning] W1000 Symbol 'TSingleRec' is deprecated: 'Use TSingleHelper'
[Warning] W1000 Symbol 'TSingleRec' is deprecated: 'Use TSingleHelper'
[Warning] W1000 Symbol 'TDoubleRec' is deprecated: 'Use TDoubleHelper'
[Warning] W1000 Symbol 'TDoubleRec' is deprecated: 'Use TDoubleHelper'
[Warning] W1000 Symbol 'TextStart' is deprecated
[Warning] W1000 Symbol 'GetHeapStatus' is deprecated
[Warning] W1000 Symbol 'RaiseList' is deprecated: 'Use AcquireExceptionObject'
[Warning] W1000 Symbol 'SetRaiseList' is deprecated: 'Use AcquireExceptionObject'
[Warning] W1000 Symbol 'Mark' is deprecated
[Warning] W1000 Symbol 'Release' is deprecated
[Warning] W1000 Symbol 'FPower10' is deprecated: 'Use Power10'
[Warning] W1000 Symbol 'GetVariantManager' is deprecated
[Warning] W1000 Symbol 'SetVariantManager' is deprecated
[Warning] W1000 Symbol 'IsVariantManagerSet' is deprecated
[Warning] W1000 Symbol 'UTF8Decode' is deprecated: 'Use UTF8ToWideString or UTF8ToString'
我们可以再次看到对 'TMemoryManagerEx' 的引用。