AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Open Tools API - benutzte Unit laden

Ein Thema von stahli · begonnen am 29. Jul 2018 · letzter Beitrag vom 6. Jan 2022
 
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.652 Beiträge
 
Delphi 12 Athens
 
#2

AW: Open Tools API - benutzte Unit laden

  Alt 29. Jul 2018, 22:08
Eine Unit kann mehrfach geöffnet sein. Dann gibt es auch mehrere EditViews.

Also, du fängst an mit IOTAModuleServices und holst dir über OpenModule das IOTAModule (geht auch, wenn schon offen). Dann iterierst du über ModuleFileEditors und prüfst ob der jeweilige IOTAEditor auch IOTASourceEditor unterstützt. IOTASourceEditor liefert dir dann die EditViews.

An den Sourcecode kommst du aber auch ohne den EditView über IOTASourceEditor.CreateReader. Mit IOTASourceEditor.Show kannst du einen EditView erzeugen. Der ist dann aber auch sichtbar.

Delphi-Quellcode:
var
  Editor: IOTAEditor;
  EditView: IOTAEditView;
  I, J: Integer;
  module: IOTAModule;
  sourceEditor: IOTASourceEditor;
  OTAModuleServices: IOTAModuleServices;
begin
  BorlandIDEServices.GetService(IOTAModuleServices, OTAModuleServices);
  module := OTAModuleServices.OpenModule(AFileName);
  for I := 0 to module.ModuleFileCount - 1 do begin
    Editor := module.ModuleFileEditors[I];
    if Supports(Editor, IOTASourceEditor, sourceEditor) then begin
      if sourceEditor.EditViewCount = 0 then begin
        sourceEditor.Show; // damit ein EditView existiert
      end;
      for J := 0 to sourceEditor.EditViewCount - 1 do begin
        EditView := sourceEditor.EditView[J];
        // ...
      end;
    end;
  end;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz