Приветствую всех, кто пользуется утилитой RSSAdder для полуавтоматического добавления RSS-лент в RSS-агрегаторы.
Выкладываю новый конфиг. Этот конфиг "увидел свет" благодаря Никите, который прислал свои исправления (из списка удалено 2 неработающих агрегатора) и добавления (добавлено аж 27 новых агрегаторов!), за что ему огромное спасибо :)
Сама я новый список еще не тестировала, но, наверное, вскоре пройдусь по нему.
Ссылка для скачивания: новый конфиг для RSSAdder-а (82 агрегатора).
Надеюсь, всем пригодится :)
▼
вторник, 24 августа 2010 г.
понедельник, 16 августа 2010 г.
Delphi: работа с RegExp в dll
Как работать с RegExp в библиотеках? Дело в том, что библиотека VBScript_RegExp_55_TLB — майкрософтская, без проблем тут не обошлось.
Вроде экземпляр объекта TRegExp создается, но при попытке с ним поработать вылазит ошибка:
Если честно, столкнулась с этим впервые, пошла в интернет искать. Пришлось подключать ActiveX и использовать CoInitialize/CoUninitialize.
Нашла статью про подобную проблему. Попробовала так:
Но и тут не заладилось: если CoUninitialize писать без try...except, то на нем вываливается. И что-то мне эта ситуация совсем не понравилась, как-то мутно: коинициализируется — а потом что? Не будет ли проблем, если работать с библиотекой в несколько потоков и т.д.? Даже если CoInitialize/CoUninitialize делать не в функции, а при регистрации либы.
Кто-нибудь из читателей блога сталкивался с чем-нибудь подобным? Как решали?
___
Чтобы быть в курсе обновлений блога, можно подписаться на RSS.
Вроде экземпляр объекта TRegExp создается, но при попытке с ним поработать вылазит ошибка:
Не был произведен вызов CoInitialize.
Если честно, столкнулась с этим впервые, пошла в интернет искать. Пришлось подключать ActiveX и использовать CoInitialize/CoUninitialize.
Нашла статью про подобную проблему. Попробовала так:
var
...
RE : TRegExp;
NeedToUninitialize : Boolean;
begin
NeedToUninitialize := Succeeded(CoInitialize(nil));
try
RE := TRegExp.Create(nil);
RE.IgnoreCase := true;
RE.Multiline := true;
RE.Global := true;
...
finally
RE.Free;
if NeedToUninitialize then CoUninitialize;
end;
...
end;
Но и тут не заладилось: если CoUninitialize писать без try...except, то на нем вываливается. И что-то мне эта ситуация совсем не понравилась, как-то мутно: коинициализируется — а потом что? Не будет ли проблем, если работать с библиотекой в несколько потоков и т.д.? Даже если CoInitialize/CoUninitialize делать не в функции, а при регистрации либы.
Кто-нибудь из читателей блога сталкивался с чем-нибудь подобным? Как решали?
___
Чтобы быть в курсе обновлений блога, можно подписаться на RSS.