Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.11.20;
Скачать: CL | DM;

Вниз

Как писать плагин к Delphi? для чайников   Найти похожие ветки 

 
fzt   (2011-07-25 16:52) [0]

Привет Коллеги.
Delphi 7. Использую CnPack.
Судя по его работе - окном редактора кода он управляет (раскраска ведь есть).
Перерыл гору тулз для среды, того что мне нужно нет (не спрашивайте что нужно, для этого я заводил отдельные темы, там и ответите. Линки в конце).

Взываю, откликнетесь духи онлайна:
1) Получить содержимое строки редактора кода IDE. И положение каретки текстовой в этом коде.
Как?

2) Получить список *.pas модулей проекта. Где такое искать?

Not) Решения посредством API форточек не предлагать, это на крайний случай.

Epic Win) Если кто-то поделится инфой - "Как писать плагин к Delphi для чайников", я прям обрадуюсь.

Сорцы CnPack`a я смотрел, вывих мозга. Нужно тренироваться на кошках.

Ссылочки, чтобы было понятно "а нафига?": [B]А ссылочки всё-же прочитай, прежде чем ответить.[/B]
http://delphimaster.net/view/15-1311210934/
http://delphikingdom.com/asp/answer.asp?IDAnswer=79921


 
Юрий Зотов ©   (2011-07-25 17:10) [1]

На эту тему информации мало, но кое-что есть.

1. Исходники модуля ToolsAPI.
2. Хелп от D6 (именно от D6 и только от D6).
3. Исходники многочисленных экспертов IDE в сети.

==============================================

1) Получить содержимое строки редактора кода IDE. И положение каретки текстовой в этом коде.

2) Получить список *.pas модулей проекта.


=============================================

Общая идея такая - нам доступна глобальная переменная BorlandIDEServices. Она реализует все интерфейсы, описанные в модуле ToolsAPI. Конкретный интерфейс получаем через AS, например:
BorlandIDEServices as IOTAModuleServices

Получив нужный интерфейс, можем пользоваться им как угодно. А как именно - смотрим по исходникам ToolsAPI.

=============================================

> вывих мозга

Не то чтоб совсем вывих, но уж точно не детский сад.


 
Юрий Зотов ©   (2011-07-25 17:14) [2]

> "Как писать плагин к Delphi для чайников"

Сильно сомневаюсь, что подобная инфа вообще есть. Потому что писать плагины к Delphi - это занятие уже само по себе не для чайников.


 
Игорь Шевченко ©   (2011-07-25 17:20) [3]


> Как писать плагин к Delphi? для чайников


http://www.gexperts.org


 
Юрий Зотов ©   (2011-07-25 22:19) [4]

Вот в качестве примера - получение всех файлов текущего проекта. На форме TProjectUnitsForm лежит Memo ProjectUnitsMemo.

Код рабочий, проверен в Delphi 7, надо только куда-то прилепить вызов этой формы (например, написать эксперт, создающий собственный пункт меню IDE и прилепить на его OnClick).  


function FindInterface(AInterface: TGUID): IUnknown;
var
 i: integer;
begin
 Result := nil;
 with BorlandIDEServices as IOTAModuleServices do
   for i := 0 to ModuleCount - 1 do
     if Modules[i].QueryInterface(AInterface, Result) = S_OK then
       Break
end;

function GetCurrentProjectGroup: IOTAProjectGroup;
begin
 Result := FindInterface(IOTAProjectGroup) as IOTAProjectGroup
end;

function GetCurrentProject: IOTAProject;
var
 ProjectGroup: IOTAProjectGroup;
begin
 ProjectGroup := GetCurrentProjectGroup;
 if Assigned(ProjectGroup) then
   Result := ProjectGroup.ActiveProject
 else
   Result := FindInterface(IOTAProject) as IOTAProject
end;

procedure TProjectUnitsForm.ShowProjectUnits;
var
 CurrentProject: IOTAProject;
 ModuleInfo: IOTAModuleInfo;
 i: integer;
begin
 ProjectUnitsMemo.Lines.BeginUpdate;
 try
   ProjectUnitsMemo.Clear;
   CurrentProject := GetCurrentProject;
   if not Assigned(CurrentProject) then
     Exit;
   for i := 0 to CurrentProject.GetModuleCount - 1 do
   begin
     ModuleInfo := CurrentProject.GetModule(i);
     ProjectUnitsMemo.Lines.Add(ModuleInfo.Name + " : " + ModuleInfo.FileName)
   end
 finally
   ProjectUnitsMemo.Lines.EndUpdate
 end
end;


 
Германн ©   (2011-07-26 01:08) [5]


>  Как писать плагин к Delphi? для чайников

Извините, но "Не по Сеньке шапка".
Сама Дельфи как RAD инструмент - именно для чайников. Но это только потому, что разрабатывали Дельфи отнюдь не чайники!
А для чайника - плагин к Дельфи именно вывих мозга!

P.S.
Тут только может повезти, что ЮЗ офигевший от "язвы" и иже с ними может помочь. Но я за это не ручаюсь! :)


 
fzt   (2011-07-26 04:02) [6]

2 Юрий Зотов, пасиба, ознакомился. Помогло! =). После работы обязательно покопаюсь, благодарю за наводки.
2 Германн, выбора нет. Отсутствие окна "Code definition" из VS, похоже на ампутацию кусочка межушного нервного узла. ИКР было бы конечно ничего самому не писать, но мной прецендентов решения задачи не обнаружено.



Страницы: 1 вся ветка

Текущий архив: 2011.11.20;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1311249647
Scott Storch
2011-07-21 16:00
2011.11.20
запрос на удаление


4-1251990104
TIF
2009-09-03 19:01
2011.11.20
Windows XP: вызвать диалог "Установка программы от другого имени"


2-1311843120
Александр160591
2011-07-28 12:52
2011.11.20
запарка с компонентами и их свойствами


15-1311193788
Юрий
2011-07-21 00:29
2011.11.20
С днем рождения ! 21 июля 2011 четверг


15-1311077706
>|<
2011-07-19 16:15
2011.11.20
Как назвать ТЗ?