Форум: "Потрепаться";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
ВнизНу тогда еще задачка: Найти похожие ветки
← →
Алексей Петров (2002-02-07 09:52) [22]> vuk © (06.02.02 19:07)
Браво. Задача решена.
Но, позвольте одно мелкое замечие по коду: Вы {$C-} оставляете после себя, даже если до Вашей функции был {$C+}. Это не вполне корректно :)
ИМХО, для помещения фунции в прописи стоит заменить {$C+} и {$C-} на более сложные конструкции:
{$IFOPT C-}
{$C+}
{$DEFINE C_ACTIVATED}
{$ENDIF C-}
...
{$IFDEF C_ACTIVATED}
{$UNDEF C_ACTIVATED}
{$C-}
{$ENDIF}
Но это уже чисто техника, а задача решена отлично.
> Shaman_Naydak © (06.02.02 20:55)
В свете Вашего решения задача оказалась даже проще, чем я думал :) Мое решение было длиннее. Браво.
Дело в том, что я функцию FindClassHInstance нашел только вчера в свете обсуждения даннной задачи с MsSimm, а до того её всегда сам реализовывал. И вся её нетривиальность, на мой взгляд, заключалась именно в численном совпадении Hinstance с TMemInfo.AllocationBase, при использовании функции Win32 API VirtualQuery и именно это и используется в функции FindClassHInstance.
К стати GetModuleFileName именно так описана в SysUtils.pas.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c