Showing posts with label Delphi. Show all posts
Showing posts with label Delphi. Show all posts

2016/11/04

Free Delphi/C++ Builder 10.1 Berlin Starter Edition

Embacadero 사에서 그동안 유로로 배포해오던 Delphi/C++ Builder 10.1 Berlin Starter Edition을 무료로 공개하였다. 특별 제공이라 하는데 기한이 있는지는 모르겠다.

다운로드 경로
Delphi: https://www.embarcadero.com/products/delphi/starter/promotional-download
C++ Builder: https://www.embarcadero.com/products/cbuilder/starter/promotional-download

경로는 다르나 동일 파일인 것 같다. 아직 설치는 하지 않았지만 인터넷이 연결된 상태에서 설치가 가능할 파일로 설치시 패키지를 설정하는 것 같다.

다운로드를 위해서는 Embarcadero Developer Network (EDN)에 가입이 되어 있어야 한다. 가입이 되어 있지 않을 경우 간단한 가입 절차를 거쳐 다운로드 할 수 있으며 가입된 메일 계정으로 설치에 필요한 키가 전달이 된다.

Embacadero 사가 Starter 버전을 무료로 배포하는 이유는 아무래도 경쟁사 제품을 의식해서인듯 하다. 개발툴의 저변 확대를 노리고 있을테지만 그리 큰 효과를 볼 수는 없을 것 같다.
경쟁제품이라 할 수 있는 MS사의 Visual Studio는 아주 오래전부터 Express 버전을 제공해 왔고 얼마전부터는 거의 모든 기능을 포함하고 있는 Community 버전을 개인에 한하여 무료로 제공하고 있었다.
Embacadero 사의 Starter 버전은 얼마되지 않았으며 그 동안 유료(Delphi - $320.2, C++ Builder - $238.7)로 배포되고 있었다. 게다가 이번에 무료로 공개하는 Embacadero 사의 Starter 버전의 기능 제한이 매우 많아 보인다. MS의 Visual Studio Community 버전의 경우 일반 개발에 필요한 대부분의 기능을 사용할 수 있지만 Embacadero 사의 Starter 버전은 대부분의 기능을 사용하지 못 한다. 할 수 있는 것이라고는 윈도우에서 32비트 Application 개발에만 사용할 수있다.

아래 제품 비교표를 보면 쉽게 알 수 있다.
Visual Studio: https://www.visualstudio.com/vs/compare/
Delphi: https://www.embarcadero.com/products/delphi/product-editions
C++ Builder: https://www.embarcadero.com/products/cbuilder/product-editions

Community 버전을 생각하고 다운을 받았는데 확인해보니 그렇지 않아 설치를 망설이고 있다.
아마 하지 않을 것 같다.

2011/08/01

요긴한 Tag

요즘 C#에 대한 맛보기 공부를 하고 있는데 C#에도 Tag Property가 있었다. Tag Property 는 Delphi 나 C++ Builder를 다룰 때 요긴하게 사용하던 것으로 Delphi나 C++ Builder 에서는 32비트 int 형으로 선언되어 있어 정수형 자료와 포인터를 저장하고 관리할 수 있었다.

실제로 Tag Property 에 대해서  VCL 문서상에서도 아래와 같이 개발자를 위해 제공하는 것으로 명시되어 있다.



Stores an integer value as part of a component.

Tag has no predefined meaning. The Tag property is provided for the convenience of developers. It can be used for storing an additional integer value or it can be typecast to any 32-bit value such as a component reference or a pointer.

Classes.TComponent.Tag

http://docwiki.embarcadero.com/VCL/en/Classes.TComponent.Tag



C#을 보면서 Tag에 대한 존재를 확인하였다.

C#의 언어적 특성때문인지 C#에서는 Tag가 Object로 선언 되어 있었다. C#의 Object에서 파생되는 모든 것을 담을 수 있다. 그래서 문자열도 쉽게 저장할 수 있다. VCL 의 Tag 보다 확장된 것이다.




Any type derived from the Object class can be assigned to this property. If the Tag property is set through the Windows Forms designer, only text can be assigned.






A common use for the Tag property is to store data that is closely associated with the control. For example, if you have a control that displays information about a customer, you might store a DataSet that contains the customer's order history in that control's Tag property so the data can be accessed quickly.

private void buttonNewCustomer_Click(object sender, EventArgs e)
{
/* Create a new customer form and assign a new
* Customer object to the Tag property. */
CustomerForm customerForm = new CustomerForm();
customerForm.Tag = new Customer();
customerForm.Show();
}



Control.Tag Property 

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tag.aspx



<

Original Post : http://neodreamer-dev.tistory.com/559

2011/04/19

IDE Fix Pack 4.0 / DelphiSpeedUp 3.0 release

IDE Fix Pack 4.0



RadStudio IDE 의 버그를 수정한 것으로 2007/2009/2010/XE 버전을 지원한다.





RAD Studio XE fixes/optimizations:


  • Code Insight doesn’t show matching methods for event assignments

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor

  • QC #29732: Class Completion adds published section

  • QC #88038: Delphi always maximizes itself on taskbar change

  • QC #89148: TListView ItemData streaming error

  • QC #89149: Saving a form with a ListView can kill the IDE

  • QC #93152: TBitBtn.DoubleBuffered default doesn’t match constructor’s default

  • Optimization: QC #50564: Long/Unicode string assignments could be made 20% to 30% faster

  • Optimization: Optimized TObject.ClassNameIs implementation

  • Optimization: GetDynaMethod uses binary search in DMT

  • Optimization: LoadResString cache (improves the speed of switching between Code and Design editor)

  • Optimization: Startup .NET XML-Serializer cache




RAD Studio 2010 fixes/optimizations:


  • QC #86428: Form looses ancestor components after unloading packages

  • QC #23580: Object Inspector shows incomplete / mangled event handler list

  • Code Insight doesn”t show matching methods for event assignments

  • Undo destroys editor buffer (fixed in RAD Studio 2010 Update 2)

  • F1 key doesn’t work if invoked from the ObjectInspector

  • Vista compatible icons (256×256) aren’t supported

  • Stepping through the code can be slow

  • QC #80822: ObjectInspecor: Properties are duplicated after scrolling

  • QC #80776: ObjectInspector shows “EditControl” instead of the real content

  • QC #79776: Clicking on object Inspector rejects focus

  • QC #29732: Class Completion adds published section

  • Step-Out doesn’t recognize the return address at ESP

  • QC #75738: Debugging extremly slow

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor

  • QC #88038: Delphi always maximizes itself on taskbar change

  • QC #89148: TListView ItemData streaming error

  • QC #89149: Saving a form with a ListView can kill the IDE

  • QC #93152: TBitBtn.DoubleBuffered default doesn’t match constructor’s default

  • Optimization: QC #50564: Long/Unicode string assignments could be made 20% to 30% faster

  • Optimization: Optimized TObject.ClassNameIs implementation

  • Optimization: GetDynaMethod uses binary search in DMT

  • Optimization: LoadResString cache (improves the speed of switching between Code and Design editor)

  • Optimization: Call stack with IInterface parameters are resolved much faster




RAD Studio 2009 fixes/optimizations:


  • QC #86428: Form looses ancestor components after unloading packages

  • QC #23580: Object Inspector shows incomplete / mangled event handler list

  • Code Insight doesn”t show matching methods for event assignments

  • Vista compatible icons (256×256) aren’t supported

  • Undo destroys editor buffer

  • Stepping through the code can be slow

  • 64 bit Debugger assertion (see hotfix from Embarcadero for 2009)

  • QC #75738: Debugging extremly slow

  • QC #71575: Delphi 2009 literal string assigment

  • QC #47807: Error insight fails to find TObject class

  • Possible deadlock when Error Insight calls ProcessMessages

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor

  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor

  • QC #22880: Cannot resolve unit name

  • QC #58045: Component captions and component icons disappear from form designer

  • QC #69456: IDE dead lock when updating the editors

  • QC #55910: TDBText.Color always reverts to Parent.Color

  • QC #59963: Closing non-modal forms after a task switch can deactivate the application

  • QC #56252: TPageControl flickers a lot with active theming

  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista

  • ToolsAPI IOTAProjectOptions.GetOptionNames destroys options.

  • QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString

  • QC #80822: ObjectInspecor: Properties are duplicated after scrolling

  • QC #80776: ObjectInspector shows “EditControl” instead of the real content

  • QC #79776: Clicking on object Inspector rejects focus

  • QC #29732: Class Completion adds published section

  • QC #88038: Delphi always maximizes itself on taskbar change

  • QC #89148: TListView ItemData streaming error

  • QC #89149: Saving a form with a ListView can kill the IDE

  • QC #93152: TBitBtn.DoubleBuffered default doesn’t match constructor’s default

  • Optimization: QC #50564: Long/Unicode string assignments could be made 20% to 30% faster

  • Optimization: Optimized TObject.ClassNameIs implementation

  • Optimization: GetDynaMethod uses binary search in DMT

  • Optimization: LoadResString cache (improves the speed of switching between Code and Design editor)

  • Optimization: Call stack with IInterface parameters are resolved much faster




RAD Studio 2007 fixes/optimizations:


  • QC #29732: Class Completion adds published section

  • Call stack with IInterface parameters are resolved much faster

  • Optimization: LoadResString cache

  • Undo destroyed editor buffer

  • 64 bit Debugger assertion (see hotfix from Embarcadero)

  • QC #47807: Error insight fails to find TObject class

  • Possible deadlock when Error Insight calls ProcessMessages

  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor

  • QC #22880: Cannot resolve unit name

  • QC #58045: Component captions and component icons disappear from form designer

  • QC #75738: Debugging extremly slow

  • QC #50278: IDE Compiler opens all files in ReadWrite mode and blocks command line compiler

  • QC #55910: TDBText.Color always reverts to Parent.Color

  • Sometimes the IDE has two taskbar buttons

  • Background Parser blocked the main thread

  • Find dialog has problems with upper/lower case Umlaut characters

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor

  • QC #68647: Infinite loop in Forms.GetNonToolWindowPopupParent

  • QC #68740: Lost focus after TOpenDialog when MainFormOnTaskBar is set

  • QC #59963: Closing non-modal forms after a task switch can deactivate the application

  • Control resize bugfix for kernel stack overflow due to WH_CALLWNDPROC hook

  • QC #59654: TActionList access already released FActions field

  • QC #54286 : Parent-PopupMenu overrides standard context menu (edit, memo, combobox, …)

  • QC #50097: ObjAuto access violation on XEON (Data Execution Prevention bug)

  • QC #58938: MainForm Minimize minimizes in the background

  • QC #64484: SysUtils.Abort can raise an AccessViolation

  • QC #58939: No taskbar button when starting from ShellLink with Show=Minimized

  • QC #56252: TPageControl flickers a lot with active theming

  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista

  • QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString

  • QC #88038: Delphi always maximizes itself on taskbar change

  • QC #89148: TListView ItemData streaming error






DelphiSpeedUp 3.0 



Delphi IDE 의 속도를 개선하기 위한 IDE Plugin 이다.



개선 내용


  • Improves Delphi/BCB/BDS’s load times

  • Optimizes often used RTL functions by functions form the FastCode project

  • All optimizations are done in memory and do not change any file on disk

  • Adds a “Close all and kill” menu item to the “File” menu that terminates the IDE very fast

  • The fast termination is used when you close the IDE while pressing the CTRL key.

  • Shows waiting cursor while loading designtime package

  • Optimizes CodeCompletion (CodeInsight)

  • Optimizes the Delphi Compiler’s C RTL

  • Optimizes the Debugger, especially the Step-Into functionality

  • CodeCompletion and HelpInsight can be aborted by ESC/mouse move




지원 버전


  • C++Builder 5, 6

  • Delphi 5, 6, 7

  • Borland Developer Studio 2005, 2006

  • CodeGear RAD Studio 2007 (December Update)






IDE Fix Pack 

DelphiSpeedUp&

Original Post : http://neodreamer-dev.tistory.com/539

2011/04/05

델파이 64비트 컴파일에 시동걸다.



드디어 델파이가 64비트 컴파일을 지원하기 시작했다.

많이 늦은 감이 있기에 좀 더 가속이 필요할 것 같다. 들리는 소문에 의하면 델파이가 먼저 64비트 컴파일을 지원하고 C++ Builder 는 다음 버전에 지원을 한다고 하는데 기왕 나오는거 같이 나와 주었으면... 


오늘 공개한 Sneak Preview 에서는  간단한 예를 보여주면 쉽게 64bit Platform 을 추가하는 걸 보여주고 있다. 소개 장면에서 Hello South Korea 라고 입력하는 장면이 나와서 살짝 놀랐다. 


기존 프로젝트도 64bit Platform 을 추가하고 컴파일만 하면 쉽게 64비트용 프로그램이나 컴포넌트를 쉽게 만들 수 있다. 64bit를 지원하면서 달라진 것이라고는 포인터(핸들)와 NativeUnit 이 64비트로 변경된 것이 전부여서 64bit 프로그래밍에 쉽게 접근할 수 있을 것 같다.


http://www.embarcadero.com/products/delphi/64-bit&

Original Post : http://neodreamer-dev.tistory.com/527

2011/02/20

C++ Builder 로 RSS Feed 해석하기

굿모닝 팝스 듣기 용 프로그램을 만들면서 RSS Feed를 해석하려 했었는데 그때는 Indy Component 로 RSS 소스를 받은 후 XML parser를 이용해서 분석을 했었는데 프로그램이 정상 동작을 하지 않는 바람에 다시 손을 보면서 너무도 간단한 방법을 알게 되었다.





TXMLDocument 를 이용하면 간단하게 해결이 되었다. Reading and Manipulating XML files (RSS feeds) with Delphi 라는 글을 통해 알게 된 방법이며 아래는 이 글에서 소개한 델파이 코드이다.

 var
StartItemNode : IXMLNode;
ANode : IXMLNode;
STitle, sDesc, sLink : WideString;
begin //points to local XML file in "original" code
XMLDoc.FileName := 'http://0.tqn.com/6/g/delphi/b/index.xml';
XMLDoc.Active:=True;
StartItemNode := XMLDoc.DocumentElement.ChildNodes.First.ChildNodes.FindNode('item') ;
ANode := StartItemNode;
repeat
STitle := ANode.ChildNodes['title'].Text;
sLink := ANode.ChildNodes['link'].Text;
sDesc := ANode.ChildNodes['description'].Text;
//add to list view
with LV.Items.Add do
begin
Caption := STitle;
SubItems.Add(sLink) ;
SubItems.Add(sDesc)
end;
ANode := ANode.NextSibling;
until ANode = nil;
end.





아래 코드는 위의 코드를 참조하여 작성한 C++ Builder 에서 굿모닝 팝스 RSS를 해석하는 코드이다.

XMLDoc->Active = false;
XMLDoc->FileName = L"http://tune.kbs.co.kr/rss/1.xml";
XMLDoc->Active = true;

_di_IXMLNode nodeItem = XMLDoc->DocumentElement->ChildNodes->First()->ChildNodes->FindNode( L"item" );

if ( nodeItem == NULL )
{
ShowMessage( L"Cannot find item node" );
}
else
{
while ( nodeItem != NULL )
{
_di_IXMLNode nodeTitle = nodeItem->ChildNodes->FindNode( L"title" );
_di_IXMLNode nodeEnclosure = nodeItem->ChildNodes->FindNode( L"enclosure" );

if ( nodeTitle != NULL && nodeEnclosure != NULL )
{
_di_IXMLNode nodeURL = nodeEnclosure->AttributeNodes->FindNode( L"url" );

if ( nodeURL != NULL )
{
memXML->Lines->Append( nodeTitle->GetText() );
memXML->Lines->Append( nodeURL->GetText() );
}
}

nodeItem = nodeItem->NextSibling();
}

if ( cmbGMPList->Items->Count > 0 )
{
cmbGMPList->ItemIndex = 0;
}
}
<

Original Post : http://neodreamer-dev.tistory.com/506

2010/03/17

IDE Fix Pack 2009/2010 3.0 Released

RadStudio IDE 의 버그를 수정한 IDE Fix Pack 이 3.0 버전을 공개하였다.



RAD Studio 2010 fixes:


  • Undo destroys editor buffer

  • F1 key doesn’t work if invoked from the ObjectInspector

  • Vista compatible icons (256×256) aren’t supported

  • Stepping through the code can be slow

  • QC #80822: ObjectInspecor: Properties are duplicated after scrolling

  • QC #80776: ObjectInspector shows “EditControl” instead of the real content

  • QC #79776: Clicking on object Inspector rejects focus

  • QC #29732: Class Completion adds published section

  • Step-Out doesn’t recognize the return address at ESP

  • QC #75738: Debugging extremly slow

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor




RAD Studio 2009 fixes:


  • Stepping through the code can be slow

  • Vista compatible icons (256×256) aren’t supported

  • Undo destroys editor buffer

  • 64 bit Debugger assertion (see hotfix from Embarcadero for 2009)

  • QC #75738: Debugging extremly slow

  • QC #71575: Delphi 2009 literal string assigment

  • QC #47807: Error insight fails to find TObject class

  • Possible deadlock when Error Insight calls ProcessMessages

  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor

  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor

  • QC #22880: Cannot resolve unit name

  • QC #58045: Component captions and component icons disappear from form designer

  • QC #69456: IDE dead lock when updating the editors

  • QC #55910: TDBText.Color always reverts to Parent.Color

  • QC #59963: Closing non-modal forms after a task switch can deactivate the application

  • QC #56252: TPageControl flickers a lot with active theming

  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista

  • ToolsAPI IOTAProjectOptions.GetOptionNames destroys options.

  • QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString

  • QC #80822: ObjectInspecor: Properties are duplicated after scrolling

  • QC #80776: ObjectInspector shows “EditControl” instead of the real content

  • QC #79776: Clicking on object Inspector rejects focus

  • QC #29732: Class Completion adds published section









<

Original Post : http://neodreamer-dev.tistory.com/383

2009/12/23

CodeGear IDE Fix Pack 2009/2010 2.9 Released

Embarcadero의 RAD Studio IDE의 패치인 IDE Fix Pack 이 새 버전을 공개하였다.
아래 내용은 IDE Fix Pack 2.9에 대한 설명으로 홈페이지에서 발췌를 하였다.

The IDE Fix Pack 2009/2010 installs is a DLL-Expert that fixes the following Delphi/C++Builder 2009/2010 bugs at runtime. All changes are done in memory. No file on disk is modified. None of your projects are modified or benefit from the IDE Fix Pack.

RAD Studio 2010 fixes:
  • Undo destroys editor buffer
  • F1 key doesn’t work if invoked from the ObjectInspector
  • Vista compatible icons (256×256) aren’t supported
  • Stepping through the code can be slow

RAD Studio 2009 fixes:
  • Stepping through the code can be slow
  • Vista compatible icons (256×256) aren’t supported
  • Undo destroys editor buffer
  • 64 bit Debugger assertion (see also hotfix from Embarcadero for 2009)
  • QC #75738: Debugging extremly slow
  • QC #71575: Delphi 2009 literal string assigment
  • QC #47242: Possible AV when shutting down the IDE
  • QC #47807: Error insight fails to find TObject class
  • Possible deadlock when Error Insight calls ProcessMessages
  • QC #68493: Switching away and back to Delphi orphans focus on Code Editor
  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor
  • QC #22880: Cannot resolve unit name
  • QC #58045: Component captions and component icons disappear from form designer
  • QC #69456: IDE dead lock when updating the editors
  • QC #55910: TDBText.Color always reverts to Parent.Color
  • QC #59963: Closing non-modal forms after a task switch can deactivate the application
  • QC #56252: TPageControl flickers a lot with active theming
  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista
  • ToolsAPI IOTAProjectOptions.GetOptionNames destroys options.
  • QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString

IDE Fix Pack 2009/2010 2.9
Original Post :
http://neodreamer-dev.tistory.com/351

2009/12/06

Delphi IDE Fix Pack 2009/2010 2.8 Released

Embacadero RAD Studio 2009/2010 의 통합 개발 환경(IDE)의 버그를 수정한 IDE Fix Pack 이 2.8 버전을 공개하였다.

이번 버전에서 수정된 사항

RAD Studio 2010 fixes:
  • Undo destroys editor buffer
  • F1 key doesn’t work if invoked from the ObjectInspector
  • Vista compatible icons (256×256) aren’t supported
  • Stepping through the code can be slow

RAD Studio 2009 fixes:
  • Stepping through the code can be slow
  • Vista compatible icons (256×256) aren’t supported
  • Undo destroys editor buffer
  • 64 bit Debugger assertion
  • QC #71575: Delphi 2009 literal string assigment
  • QC #47242: Possible AV when shutting down the IDE
  • QC #47807: Error insight fails to find TObject class
  • Possible deadlock when Error Insight calls ProcessMessages
  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor
  • QC #22880: Cannot resolve unit name
  • QC #58045: Component captions and component icons disappear from form designer
  • QC #69456: IDE dead lock when updating the editors
  • QC #55910: TDBText.Color always reverts to Parent.Color
  • QC #59963: Closing non-modal forms after a task switch can deactivate the application
  • QC #56252: TPageControl flickers a lot with active theming
  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista
  • ToolsAPI IOTAProjectOptions.GetOptionNames destroys options.
  • QC #74646: Buffer overflow in TCustomClientDataSet.DataConvert with ftWideString
IDE Fix Pack 2.8 webpage
Original Post :
http://neodreamer-dev.tistory.com/343

2009/04/14

[VCL] 작업표시줄의 프로그램 버튼 숨기기

프로그램 실행 시 작업표시줄(Taskbar)에 나타나는 프로그램 버튼을 숨기기 위해서는 MainForm 의 부모인 Application을 ShowWindow로 숨기면 된다.

void __fastcall TfrmMain::FormShow(TObject *Sender)
{
ShowWindow( Application->Handle, SW_HIDE );
}



이 방법은 C++ Builder 2007 이전에만 적용되며 C++ Builder 2007 이후에 만들어진 프로젝트의 경우 한가지 설정을 대 해 주어야 한다.

Application 이 초기화 되고 MainForm이 생성되기 전에 Application의 MainFormOnTaskBar 속성을 false로 설정해 주어야 위의 코드가 정상적으로 처리가 된다.

WINAPI _tWinMain(HINSTANCE, HINSTANCE, LPTSTR, int)
{
try
{
Application->Initialize();
Application->MainFormOnTaskBar = false;
Application->CreateForm(__classid(TfrmMain), &frmMain);
Application->Run();
}
:

return 0;
}



MainFormOnTaskBar 속성은 Delphi 2007 버전부터 추가된 속성으로 작업표시줄의 프로그램 버튼을 어떻게 핸들링 할지를 설정하는 기능이다. 이 속성을 Vista 이후에 추가된 기능을 지원하기 위해 추가 되었다고 한다.

MainFormOnTaskBar 속성이 true 이면 메인폼의 프로그램 타이틀을 작업표시줄에 출력하고, false 이면 Application의 타이틀을 출력한다.


참고자료
Hide a Delphi Application Button from the TaskBar
Hide a Delphi 2007 Application Button from the TaskBar
박지훈님(볼랜드 포럼)의 MainFormOnTaskbar에 대한 글


Original Post : http://neodreamer-dev.tistory.com/290

2009/04/01

Delphi Tweak - Delphi Distiller v1.61

1. WHAT IS DELPHI DISTILLER

Delphi Distiller is a customization tool for Delphi 5/6/7/2006/2007/2009 that

lets you manage packages and experts and apply several tweaks.





2. FEATURES

Choose what packages and experts are loaded by Delphi 5/6/7/2006/2007/2009.



File associations manager for Delphi 5/6/7/2006/2007/2009.



Delphi 5 tweaks:

- Don't create .~bpl files.

- Don't create .cfg files.

- Use Tahoma font by default.

- Don't show splash screen.

- Customize editor colors.

- Trial to Retail conversion.



Delphi 6 tweaks:

- Don't create .~bpl files.

- Don't create .ddp files.

- Don't create .cfg files.

- Use Tahoma font by default.

- Don't show splash screen.



Delphi 7 tweaks:

- Don't create .~bpl files.

- Don't create .ddp files.

- Don't create .cfg files.

- Use Tahoma font by default.

- Don't show splash screen.



Delphi 2006 tweaks:

- Don't create .~bpl files.

- Don't create .local files.

- Don't create .cfg files.

- Remove toolbar gradients.

- Fix TabStop bug in TFrame's.

- Don't show splash screen.



Delphi 2007 tweaks:

- Don't create .~bpl files.

- Don't create .local files.

- Don't check for updates when the IDE starts.

- Avoid loading of additional .NET crap by delphicoreide100.bpl.

- Remove toolbar gradients.

- Don't show splash screen.



Delphi 2009 tweaks:

- Don't create .~bpl files.

- Don't create .local files.

- Don't check for updates when the IDE starts.

- Avoid loading of additional .NET crap by delphicoreide120.bpl.

- Don't show splash screen.




Ctrl + Alt + L 에 숨겨진 기능이 있습니다.


Delphi Distiller

Delphi Distiller 1.61 Download







Original Post : http://neodreamer-dev.tistory.com/283

2009/03/05

IDE Fix Pack 2009 2.5 Released!!

Rad Studio 2007/2009 의 IDE 버그를 패치하는 IDE Fix Pack 이 2.5 버전을 공개 하였다.







  • QC #47807: Error insight fails to find TObject class

  • Possible deadlock when Error Insight calls ProcessMessages

  • Error Insight defines VER190 instead of VER200

  • QC #37462: IDE may select the wrong file when performing a ctrl + left-click on a filename in the editor

  • QC #67351: Debugger invokes anonymous method by itself

  • QC #22880: Cannot resolve unit name

  • QC #58045: Component captions and component icons disappear from form designer

  • QC #50278: IDE Compiler opens all files in ReadWrite mode and blocks command line compiler

  • QC #69456: IDE dead lock when updating the editors

  • QC #55910: TDBText.Color always reverts to Parent.Color

  • QC #68647: Infinite loop in Forms.GetNonToolWindowPopupParent

  • QC #68740: Lost focus after TOpenDialog when MainFormOnTaskBar is set

  • QC #59963: Closing non-modal forms after a task switch can deactivate the application

  • QC #66892: Closing forms deactivates the application (missing “stdcall”)

  • QC #64484: SysUtils.Abort can raise an AccessViolation

  • QC #56252: TPageControl flickers a lot with active theming

  • QC #68730: TLabel is not painted on a themed, double-buffered TTabSheet in Vista



IDE Fix Pack 2009 2.5
Original Post :
http://neodreamer-dev.tistory.com/265

2008/09/15

Delphi Distiller v1.44 released

델파이툴의 여러가지 트윅을 설정 할 수 있는 프로그램이다.

한동안 뜸 했다가 델파이 2009 버전의 발표로 다시 활성화 되었다.

백업 파일 설정및 기타 패키지 관련 설정을 할 수 있다.

Delphi Distiller Site

Tip. Ctrl + Alt + L 을 누르면 멋진 걸 볼 수 있다

Original Post : http://neodreamer-dev.tistory.com/155

2008/04/07

Delphi Virtual Keycode
















































































































































































































































































































































































































































































































































































































































































































































































Symbolic

constant name
Value


(hexadecimal)
Keyboard (or mouse) equivalent
VK_LBUTTON01Left mouse button
VK_RBUTTON02Right mouse button
VK_CANCEL03Control-break processing
VK_MBUTTON04Middle mouse button (three-button mouse)
VK_BACK08BACKSPACE key
VK_TAB09TAB key
VK_CLEAR0CCLEAR key
VK_RETURN0DENTER key
VK_SHIFT10SHIFT key
VK_CONTROL11CTRL key
VK_MENU12ALT key
VK_PAUSE13PAUSE key
VK_CAPITAL14CAPS LOCK key
VK_ESCAPE1BESC key
VK_SPACE20SPACEBAR
VK_PRIOR21PAGE UP key
VK_NEXT22PAGE DOWN key
VK_END23END key
VK_HOME24HOME key
VK_LEFT25LEFT ARROW key
VK_UP26UP ARROW key
VK_RIGHT27RIGHT ARROW key
VK_DOWN28DOWN ARROW key
VK_SELECT29SELECT key
VK_PRINT2APRINT key
VK_EXECUTE2BEXECUTE key
VK_SNAPSHOT2CPRINT SCREEN key
VK_INSERT2DINS key
VK_DELETE2EDEL key
VK_HELP2FHELP key

300 key

311 key

322 key

333 key

344 key

355 key

366 key

377 key

388 key

399 key

41A key

42B key

43C key

44D key

45E key

46F key

47G key

48H key

49I key

4AJ key

4BK key

4CL key

4DM key

4EN key

4FO key

50P key

51Q key

52R key

53S key

54T key

55U key

56V key

57W key

58X key

59Y key

5AZ key
VK_NUMPAD060Numeric keypad 0 key
VK_NUMPAD161Numeric keypad 1 key
VK_NUMPAD262Numeric keypad 2 key
VK_NUMPAD363Numeric keypad 3 key
VK_NUMPAD464Numeric keypad 4 key
VK_NUMPAD565Numeric keypad 5 key
VK_NUMPAD666Numeric keypad 6 key
VK_NUMPAD767Numeric keypad 7 key
VK_NUMPAD868Numeric keypad 8 key
VK_NUMPAD969Numeric keypad 9 key
VK_SEPARATOR6CSeparator key
VK_SUBTRACT6DSubtract key
VK_DECIMAL6EDecimal key
VK_DIVIDE6FDivide key
VK_F170F1 key
VK_F271F2 key
VK_F372F3 key
VK_F473F4 key
VK_F574F5 key
VK_F675F6 key
VK_F776F7 key
VK_F877F8 key
VK_F978F9 key
VK_F1079F10 key
VK_F117AF11 key
VK_F127BF12 key
VK_F137CF13 key
VK_F147DF14 key
VK_F157EF15 key
VK_F167FF16 key
VK_F1780HF17 key
VK_F1881HF18 key
VK_F1982HF19 key
VK_F2083HF20 key
VK_F2184HF21 key
VK_F2285HF22 key
VK_F2386HF23 key
VK_F2487HF24 key
VK_NUMLOCK90NUM LOCK key
VK_SCROLL91SCROLL LOCK key
VK_LSHIFTA0Left SHIFT key
VK_RSHIFTA1Right SHIFT key
VK_LCONTROLA2Left CONTROL key
VK_RCONTROLA3Right CONTROL key
VK_LMENUA4Left MENU key
VK_RMENUA5Right MENU key
VK_PLAYFAPlay key
VK_ZOOMFBZoom key

출처 : http://delphi.about.com/od/objectpascalide/l/blvkc.htm<

Original Post : http://neodreamer-dev.tistory.com/92

델파이에서 System Global Hotkey 사용하기

Global Hotkey 이용하기의 마지막 팁이다.

이번에는 Delphi 에서 이용하는 방법이다.

델파이는 비주얼 베이직과 같이 RAD 툴이면서 비주얼 베이직과는 다르게 특별한 선언이 없이 바로 Win32 API 를 사용할 수 있다.

따라서 C++에서 사용하는 방법과 크게 다르지 않으며 다른 것이 있다면 메세지 핸들링하는 방법과 가상 키코드를 이용하는 방법이 약간 다르다.

메세지 핸들링하는 방법은 언어 자체가 다르니 C++과는 다를 수 밖에 없고 가상 키코드 사용은 델파이에 알파벳에 대응하는 키코드는 정의 되지 않아 직접 숫자로 적용 해야한다.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
hkID: Integer;
procedure WMHotKey(var Msg: TWMHotKey); message WM_HOTKEY;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WMHotKey(var Msg: TWMHotKey);
begin
if Msg.HotKey = hkID then
ShowMessage('Ctrl + A pressed !');
end;

procedure TForm1.FormCreate(Sender: TObject);
// Different Constants from Windows.pas
const
MOD_ALT = 1;
MOD_CONTROL = 2;
MOD_SHIFT = 4;
MOD_WIN = 8;
begin
// Register Hotkey Ctrl + A
hkID := GlobalAddAtom('MyHotkey');
RegisterHotKey(Handle, hkID, MOD_CONTROL, $41);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnRegisterHotKey(Handle, hkID);
GlobalDeleteAtom(hkID);
end;

end.

Original Post : http://neodreamer-dev.tistory.com/91

2008/02/25

DelphiSpeedUp 2.73 Released!!

DelphiSpeedUp 은 CodeGear 툴의 IDE 성능 개선 Plugin 이다. IDE 의 속도를 개선해 준다.

Features:

    * Improves Delphi/BCB/BDS's load times
    * Optimizes often used RTL functions by functions form the FastCode project
    * All optimizations are done in memory and do not change any file on disk
    * Adds a "Close all and kill" menu item to the "File" menu that terminates the IDE very fast
    * The fast termination is used when you close the IDE while pressing the CTRL key.
    * Shows waiting cursor while loading designtime package


Supported IDEs:

    * C++Builder 5, 6
    * Delphi 5, 6, 7
    * Borland Developer Studio 2005, 2006
    * CodeGear RAD Studio 2007 (December Update)

Homepage
Download
Original Post :
http://neodreamer-dev.tistory.com/64

2008/01/06

DelphiSpeedUp 2.71 released

Delphi/BCB/BDS/CodeGear IDE 용 속도향상 플러그인인 DelphiSpeedUp이 버전업을 했네요.

    * Improved: Better cache algorithm for LoadResString
    * Improved: .NET 1.1 SetThreadPriotity hook is not necessary for .NET 2.0
    * Improved: Delphi 7 RTM Compiler that has a working optimization is used to compile DelphiSpeedUp for Delphi 7.
    * Added: Some I/O operation optimizations for the Delphi 2007 compiler.
    * Added: LStrAsg, LStrLAsg speed optimization (QC 50564)
    * Added: Faster WideStrUtils.InOpSet (QC 43080)

DelphiSpeedUp
Original Post :
http://neodreamer-dev.tistory.com/8