toolsapi

How to get the main source file name from an IOTAProject?

Since at least D2007 a project file can have a main source file with differing base name. The DevExpress demos make use of this: E.g. there is a single dpr file UnboundListDemo.dpr which serves as the main source for both UnboundListDemoD11.dproj and UnboundListDemoD12.dproj. Now if I have a Project: IOTAProject then Project.FileName re...

Improve speed of own debug visualizer for Delphi 2010

I wrote Delphi debug visualizer for TDataSet to display values of current row, source + screenshot: http://delphi.netcode.cz/text/tdataset-debug-visualizer.aspx . Working good, but very slow. I did some optimalization (how to get fieldnames) but still for only 20 fields takes 10 seconds to show - very bad. Main problem seems to be slow ...

How to filter Delphi 2010 compiler output (hints)?

I'm trying to get rid of some hints(*) the Delphi compiler emits. Browsing through the ToolsAPI I see a IOTAToolsFilter that looks like it might help me accomplish this through it's Notifier, but I'm not sure how to invoke this (through what xxxServices I can access the filter). Can anyone tell me if I´m on the right track here? Thanks...

How to get the structure of a module by ToolsAPI in Delphi?

I want to get the structure information of a module (pascal unit) by ToolsAPI. just like the structure view of the IDE does. Classes, Records, Interfaces, Variables/Constants, etc Members, Parameters, etc. Is there already an easy & efficient way to get these metadata? ...

How to fold an inserted region with Open Tools API?

I wanna insert a region in an edit view and then fold this region. // fEditView: IOTAEditView; var writer: IOTAEditWriter; begin writer := fEditView.Buffer.CreateUndoableWriter; //... writer.Insert('{$REGION ''Documentation''}'#13#10'{$ENDREGION}'); writer := nil; // Flush the buffer fEditView.Position.GotoLine(lineNo); //...