IDEDialog questions.

Hi,

  1. Is there a way to make the Editor show a defined function with ".DefineMethod" to be displayed bold?
  2. It is possible that when loading a project, only the main unit is automatically loaded into the IDE editor.
    I have an app that autogenerates projects with autogenerated units. The "Main" unit of the project is the only unit that contains user code. (The user loads the project into the IDE to debug a specific auto generated unit.)
  3. How to avoid to auto create a new project when IDE app is loaded(start the IDE app with no project loaded).

Thanks in advance,

Omar Zelaya

Hi Omar,

What you can do is add a keyword to the memo syntax styler manually. For example, if the method you defined is named Bla, then you can add such word to the list of keywords, which will then be displayed in bold:

  IDEDialog1.OnCreateIDEForm := CreateIDEForm;

{...}

procedure TForm3.CreateIDEForm(Sender: TObject);
begin
  IDEEngine1.Memo.MemoSource.SyntaxStyler.AllStyles[0].KeyWords.Add('Bla');
end;

You can set the Visible property of each project file to show/hide them from the IDE:

var
  PrjFile: TIDEProjectFile;
begin
  IDEEngine1.NewProject;
  PrjFile := IDEEngine1.NewUnit(slPascal);
  PrjFile.Script.SourceCode.Text := '{ unit1 }';

  PrjFile := IDEEngine1.NewUnit(slPascal);
  PrjFile.Script.SourceCode.Text := '{ unit2 }';
  PrjFile.Visible := False;

The above code will only show unit1 in the IDE, unit2 will be hidden.

It's not possible, you should always have a project open in the IDE. And if the project has no files, the IDE will automatically create the default ones. But what you can do is create a new project with a blank unit:

  IDEEngine1.NewProject;
  IDEEngine1.NewUnit(slPascal);