Например функцию InitCommonControls вызывать не обязательно (там где она нужна), надо только чтобы она была прописана в импорте и таким образом загрузилась бы Comctl32.dll. В TASM для этого достаточно было написать extrn InitCommonControls:near, и всё - эффект достигался без invoke InitCommonControls. А сейчас вот возник вопрос как это сделать в FASM ? Он в этом плане умный слишком - всё что описано в типовых макросах library и import - он реально прописывает в секции импорта только если в коде есть вызовы этих функций (что в принципе удобно - у меня заранее прописано ~10000 функций от основных DLL, а он линкует только нужные). Но вот если я хочу принудительно подключить DLL, не вызывая явным образом её функции ? Я хочу так вот приделать riched20.dll Чтобы не делать LoadLibrary.
f2065 Можно ещё и так: Код (Text): macro refer [arg*] { times arg-arg } refer InitCommonControls,SecondFunction data import library comctl32,'comctl32.dll',\ riched20,'riched20.dll' import comctl32,\ InitCommonControls,'InitCommonControls' import riched20,\ SecondFunction,2 end data А чем плохо LoadLibrary для riched20.dll?
Лишний код, плюс ещё надо проверять ошибку и msgbox юзеру про это… А так винда сама это всё сделает. Вобщем по описанному методу richedit получилось приделать, теперь его контрол работает нормально без LoadLibrary.