2013-02-25 2 views
1

TShellListView에서 AutoRefresh를 True로 설정하면 메모리 누수가 발생하는 문제가 발생했습니다. 이것은 알려진 문제점이며 여기에 대한 해결책을 찾았습니다 : http://www.delphigroups.info/2/bf/292629.html.TShellChangeThread의 메모리 누수

내 문제는 내 응용 프로그램이 현재 Delphi 2010 (Rad Studio 7)로 컴파일되었으며이 버전에 ShellCtrls.pas의 소스가 포함되어 있지 않으며 위에서 설명한 수정을 구현해야합니다.

또한 개발 컴퓨터에 Rad Studio 9 (Delphi XE)의 복사본이 있습니다. 이 버전 ShellCtrls.pas 사본이 포함되어 있습니다. 희망에 반해서 2010 년 XE 소스를 사용할 수 있습니까? 그렇지 않다면 Delphi 2010 용 ShellCtrls 소스를 확보 할 수있는 방법이 있습니까?

+0

ShellCtrls.pas 파일, 다른 VCL로/RTL 소스 코드 파일은 Delphi의 버전 (SKU)에 따라 Delphi 설치에 포함됩니다. IIRC에서 SKU가 엔터프라이즈 이상인 경우 소스 코드가 설치됩니다. 즉, 2007, XE, XE2 및 XE3 인 Delphi 버전의 ShellCtrls.pas가 없습니다. 모두 엔터프라이즈 또는 설계자입니다. – jachguate

+0

그건 재미 있어요. 저는 2010 년 (구입 한 제품)과 XE (Embarcadero에서 추첨 상품으로 수상한 제품)가 모두 직업 SKU라고 생각합니다. ShellCtrls.pas 파일 (VCL 소스의 나머지 부분과 반대로)을 버전마다 다양하게 포함 시켰을 것입니다. –

답변

4

모든 Professional 및 상위 SKU에 소스 코드가 포함되어 있습니다 (VCL 소스는 SKU에 따라 다름에도 불구하고 데모는 기능을 원하며 SKU를 업그레이드하기를 원하기 때문에 일반적으로 필요하지 않습니다). D2010에 소스가 없다면 잘못된 장소 (VCL 소스 폴더가 아닌 Samples 또는 Demo 폴더에 있음)를 보거나 데모를 설치하지 않은 것입니다.

데모는 기본적으로 Users\Public\Documents\ 트리에 설치됩니다. 사용중인 Delphi/RAD Studio 버전의 시작 메뉴를 사용하여 찾을 수 있습니다.

예를 들어, Delphi 2007의 경우 Win32에서는 C:\Users\Public\Documents\RAD Studio\5.0\Demos이고 ShellControls 폴더는 특히 C:\Users\Public\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\ShellControls입니다.

XE2에는 그 변화가 거의 없습니다. 그들은 C:\Users\Public\Documents\RAD Studio\9.0\Samples\Delphi\VCL\ShellControls에 있습니다.

(그냥 참고 것 같이. ShellControls 물건은 그 이상의 긴 소스와 주변에있다, 그래서 WinXP 용 델파이 7, 그들은, C:\Program Files\Borland\Delphi7\Demos\ShellControls에있어)

+0

다음에 데모를 설치하지 않아야합니다. c : \의 루트에서 검색하여 Rad Studio 9 (XE) 버전을 찾았지만 Rad Studio 7 폴더에는 아무 것도 없습니다. 오늘은 더욱 나아질 것입니다. –

+0

다소 이상하게도, 내 디스크의 또 다른 검색은 당신이 제안한 곳에서 정확하게 소스를 나타 냈습니다. 나는 그것을 처음으로 간과 했음에 틀림 없다. –