<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779714</guid>
        <pubDate>Wed, 15 Dec 2010 10:46:39 +0000</pubDate>
        <title>Узнать путь проекта</title>
        <link>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779714</link>
        <description><![CDATA[ViktorXP: так он есть. и если я бросаю компонент на форму то оно работает. <br>
но если при активной форме нажать альт-ф12 два раза то будет перегружена вся форма. так сначала вызывается конструктор а потом она прикрепляется к &quot;контейнеру&quot; IOTAEditor и эта функция не дает результат.<br>
Когда только открываеш форму то она тоже дает пустуй результат (по вышеописанной причине) <br>
ща попробую это за счет экспертов решить <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2010-12-15T13:55:24+03:00">15.12.10, 10:55</time></span></span><br>
решил. засчет IOTAIDENotifier и события FileNotification]]></description>
        <author>ViktorXP</author>
        <category>Delphi: Разработка компонентов</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779674</guid>
        <pubDate>Wed, 15 Dec 2010 10:30:57 +0000</pubDate>
        <title>Узнать путь проекта</title>
        <link>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779674</link>
        <description><![CDATA[DimaBr: Почему же &quot;окромя конструктора&quot;, если есть AOwner ?]]></description>
        <author>DimaBr</author>
        <category>Delphi: Разработка компонентов</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779654</guid>
        <pubDate>Wed, 15 Dec 2010 10:20:39 +0000</pubDate>
        <title>Узнать путь проекта</title>
        <link>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779654</link>
        <description><![CDATA[ViktorXP: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=321085&view=findpost&p=2779579'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>DimaBr &#064; <time class="tag-quote__quoted-time" datetime="2010-12-15T09:11:52+00:00">15.12.10, 09:11</time></span><div class='quote '>Может это подойдёт ?</div></div><br>
не то. у меня подобный код. дело в том что этот код даст результат если ее вызвать в любой момент окромя конструктора.<br>
<br>
пс. а мне нужно при конструировании компонента этот путь.]]></description>
        <author>ViktorXP</author>
        <category>Delphi: Разработка компонентов</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779579</guid>
        <pubDate>Wed, 15 Dec 2010 09:11:52 +0000</pubDate>
        <title>Узнать путь проекта</title>
        <link>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779579</link>
        <description><![CDATA[DimaBr: <a class='tag-url' href='http://www.delphimaster.ru/cgi-bin/forum.pl?id=1263383508&n=12' target='_blank'>Может это подойдёт ?</a><br>
<br>
Не понятно в чём проблема, в моменте вызова функции или в получении пути к файлу]]></description>
        <author>DimaBr</author>
        <category>Delphi: Разработка компонентов</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779011</guid>
        <pubDate>Tue, 14 Dec 2010 16:35:59 +0000</pubDate>
        <title>Узнать путь проекта</title>
        <link>https://forum.sources.ru/index.php?showtopic=321085&amp;view=findpost&amp;p=2779011</link>
        <description><![CDATA[ViktorXP: для определенных целей мне нужно из компонента узнать путь к проекту/модулю (проект или модуль не имеет значение. главное что бы на текущий проект путь всегда был один и тот же)<br>
но что бы узнать я его мог в любом случае. источником опоры является сам компонент. + проектов может быть много. и компонентов. и это все не должно пресекается (исключение если два компонента лежат на одной форме)<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray">пс. звучит как тз  :lol: . но я лучше сначала все по полочкам опишу</span><br>
для всего этого набросал функцию. но она не дает полноценный результат если ее вызвать из перегруженного метода Loaded (для первой инициализации настроек нужно. в Create нет смысла ибо в компонент не внесены данные из dfm, да и результат даст тоже ибо loaded вызывается позже). <br>
если на форме нажать Альт+Ф12 два раза то путь пустой. если бросить новый на форму то результат есть<br>
из чего я сделал вывод что когда &quot;конструируется&quot; вся форма то она прикрепляется к редактору в самом конце. <br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">function GetPath(Comp: TComponent): String;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;OTAComponent: IOTAComponent;</div><div class="code_line">&nbsp;&nbsp;i, j: integer;</div><div class="code_line">&nbsp;&nbsp;Editor: IOTAEditor;</div><div class="code_line">&nbsp;&nbsp;FormEditor: IOTAFormEditor;</div><div class="code_line">&nbsp;&nbsp;ModuleServices: IOTAModuleServices;</div><div class="code_line">&nbsp;&nbsp;Module: IOTAModule;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result:=&#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;if Supports(BorlandIDEServices, IOTAModuleServices, ModuleServices) then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;for i := 0 to ModuleServices.ModuleCount - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Module := ModuleServices.Modules[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;for j := 0 to Module.GetModuleFileCount - 1 do</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; Editor := Module.GetModuleFileEditor(j);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if Supports(Editor,IOTAFormEditor, FormEditor) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OTAComponent := FormEditor.FindComponent(Comp.Name);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if Assigned(OTAComponent) and (OTAComponent.GetComponentHandle = Comp) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Result := Module.FileName;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; end;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>Какие у кого идейки найдутся по обходу этой проблемы?<br>
Если честно то мне бы хватило получения пути активного проекта, но прикол в том что их может быть открыто несколько и компонент может быть не в активном проекте.]]></description>
        <author>ViktorXP</author>
        <category>Delphi: Разработка компонентов</category>
      </item>
	
      </channel>
      </rss>
	