Полезная информация

Общайтесь со знакомыми и друзьями в нашей группе в Контакте.

№129-02-2012 18:31:08

Hodarv
Участник
 
Группа: Members
Зарегистрирован: 29-02-2012
Сообщений: 3
UA: Firefox 10.0

проблема с gfxImageSurface.

Написал функция для сохранения картинок. Функция использует класс gfxImageSurface.
Как я понял методы для работоспособности gfxImageSurface необходима xul.dll. Все хорошо если dll xulrunner лежат вместе с exe файлом моей программы, но как сделать чтобы все dll xulrunner  лежали в папке, например mozilla, а мой exe в другой?
Вот функция:
static sresult  _SaveImage (nsIDOMElement*  elem, const wxString& path) {
    nsresult rv;

    nsCOMPtr<nsIImageLoadingContent> imageContent = do_QueryInterface(elem, &rv);
    NS_ENSURE_TRUE(imageContent, rv);
    nsCOMPtr<imgIRequest> request;
    rv = imageContent->GetRequest(nsIImageLoadingContent::CURRENT_REQUEST, getter_AddRefs(request));
    NS_ENSURE_TRUE(request, rv);
    nsCOMPtr<imgIContainer> container;
    rv = request->GetImage(getter_AddRefs(container));
    NS_ENSURE_TRUE(container, rv);
    nsCOMPtr<gfxImageSurface> image;
       
    rv = container->CopyFrame(imgIContainer::FRAME_FIRST, imgIContainer::FLAG_SYNC_DECODE, getter_AddRefs(image));
    NS_ENSURE_TRUE(image, rv);
   
    nsCOMPtr<imgIEncoder> encoder = do_CreateInstance("@mozilla.org/image/encoder;2?type=image/png", &rv);
    NS_ENSURE_SUCCESS(rv, rv);
    encoder->InitFromData(image->Data(), image->Stride() * image->Height(), image->Width(), image->Height(), image->Stride(), imgIEncoder::INPUT_FORMAT_HOSTARGB, EmptyString());
        .................................
        ............................
}
Если все  dll xulrunner лежат в другой папке, то при загрузки программы у меня выдает ошибку "Запуск программы невозможен, так как на компьютере отсутствует xul.dll".

Есть у кого-то идеи? заранее благодарен.

Отсутствует

 

№229-02-2012 22:48:39

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Firefox 11.0

Re: проблема с gfxImageSurface.

Отсутствует

 

№301-03-2012 17:05:48

Hodarv
Участник
 
Группа: Members
Зарегистрирован: 29-02-2012
Сообщений: 3
UA: Firefox 10.0

Re: проблема с gfxImageSurface.

Спасибо, было почти то))) Но проблему решил.
Использую VS2010 и xulrunner 10.2. В опциях проекта VS2010 есть опция Delay Loaded DLLs, туда вписал xul.dll и заработало) Кому интересно вот описание - http://msdn.microsoft.com/en-us/library/151kt790.aspx
Спасибо, что навели на мысль!!!
Тема закрыта.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]