<?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=37367&amp;view=findpost&amp;p=241783</guid>
        <pubDate>Tue, 26 Feb 2002 18:56:41 +0000</pubDate>
        <title>Можно ли в билдере в dll засунуть свой класс?</title>
        <link>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241783</link>
        <description><![CDATA[zAg: Делаешь так:<br><br>SomeClass.h<br><br>#ifdef BUILD_DLL<br>#define _DLL_ENTRY extern __declspec(dllexport)<br>#else<br>#define _DLL_ENTRY extern __declspec(dllimport)<br>#endif<br><br>class _DLL_ENTRY TSomeClass{<br>....<br>};<br><br>SomeClass.cpp (в dll)<br>#define BUILD_DLL //или можно в опциях conditional defines<br>#include &lt;SomeClass.h&gt;<br><br>....<br><br>для exe:<br>#include &lt;SomeClass.h&gt;<br><br>....<br><br>К exe-проекту добавь lib'ку которая генерится при сборке dll - это позволит линкеру правильно сформировать секцию импорта.(иначе будет unresolved external).<br><br>Куда генерить lib'ы указываешь в Tools-&gt;Environment Options-&gt;Library-&gt;bpi/lib output dir или в опциях самого проекта<br><br>но учти: если будешь исп. VCL то чтобы экзепшены из dll/bpl корректно ловились необходимо к обеим проектам подцепить lib'у для VCL-совместимой RTL:cp32mt.lib (статическая RTL) или cp32mti.lib (динамическая RTL) вместо cw32mt(i).lib. Делай это непосредственно в bpr-файлах во внешнем редакторе.Для этого клозаешь всю проектную группу и пишешь так:<br> &nbsp; <br> &nbsp; &lt;ALLLIB value=&quot;$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib&quot;/&gt;<br>Потом заново открываешь и компилишь.<br><br>Так вот теперь главный сюрприз!<br>dll и VCL совместимая RTL не совместимы :( Скомпилить exe не получится будут два unresolved external:<br>SysInit::VclInit и SysInit::VclExit<br><br>Так что единственный выход исп. пакеджи (bpl) там все будет корректно.<br>Только класс объявляется так:<br><br>class PACKAGE TSomeClass{<br>...<br>}<br><br>И не надо никаких #defin'ов билдер сам определит где экспорт а где импорт - все будет корректно работать.<br>Так что если ты библиотеку будешь исп. только для VCL-проектов лучше делай bpl - никаких глюков не будет 8)]]></description>
        <author>zAg</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241782</guid>
        <pubDate>Tue, 26 Feb 2002 12:40:50 +0000</pubDate>
        <title>Можно ли в билдере в dll засунуть свой класс?</title>
        <link>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241782</link>
        <description><![CDATA[Uj_comma_kby: Можно и поподробней. В работе с длл -- я полный ламер. Так что не серчай. Создал некоторый класс и хочу, чтоб этот класс (т.е. все его функции) можно было сохранить в длл, затем подключить длл к проекту, посоздавать экземпляров ну и тэдэ. Если можно проще -- расскажи как проще (кроме непосредственного включения в проект). Заранее Сенкс]]></description>
        <author>Uj_comma_kby</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241781</guid>
        <pubDate>Tue, 26 Feb 2002 12:39:09 +0000</pubDate>
        <title>Можно ли в билдере в dll засунуть свой класс?</title>
        <link>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241781</link>
        <description><![CDATA[Uj_comma_kby: Можно и поподробней. В работе с длл -- я полный ламер. Так что не серчай. Создал некоторый класс и хочу, чтоб этот класс (т.е. все его функции) можно было сохранить в длл, затем подключить длл к проекту, посоздавать экземпляров ну и тэдэ. Заранее Сенкс]]></description>
        <author>Uj_comma_kby</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241780</guid>
        <pubDate>Tue, 26 Feb 2002 01:10:10 +0000</pubDate>
        <title>Можно ли в билдере в dll засунуть свой класс?</title>
        <link>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241780</link>
        <description><![CDATA[timur?: Можно что угодно и куда угодно....<br>Поподробнее можно вопрос?]]></description>
        <author>timur?</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241779</guid>
        <pubDate>Mon, 25 Feb 2002 13:29:29 +0000</pubDate>
        <title>Можно ли в билдере в dll засунуть свой класс?</title>
        <link>https://forum.sources.ru/index.php?showtopic=37367&amp;view=findpost&amp;p=241779</link>
        <description><![CDATA[Uj_comma_kby: Можно ли в билдере в dll засунуть свой класс?]]></description>
        <author>Uj_comma_kby</author>
        <category>Visual C++ / MFC / WTL</category>
      </item>
	
      </channel>
      </rss>
	