Конференция "Media" » Программа вылетает на команде IGraphBuilder.RenderFile [D7, WinXP]
 
  • AlexanderMS © (12.07.08 13:43) [0]
    Вот функция загрузки файла с музыкой (mp3).

    function TMusicFile.LoadFile(FileName : WideString) : Boolean;
    var
     R : HResult;
     Total : Int64;
    begin
     R := GraphBuilder.RenderFile(PWideChar(FileName), nil);
     Result := FInitGood and (R = 0); // эта строка уже не выполняется
    ...



    Если запускать программу в Delphi, то на строке
    R := GraphBuilder.RenderFile...

    программа вылетает (но при этом с остальными программами, включая Delphi IDE, всё нормально - можно снова запустить).
    А если запускать EXE-файл программы "вручную", из Проводника, то программа работает нормально, без ошибок.
    В чём может быть причина?
  • Омлет (12.07.08 14:14) [1]
    Ошибка в GraphBuilder
  • AlexanderMS © (12.07.08 14:27) [2]

    > Омлет   (12.07.08 14:14) [1]
    > Ошибка в GraphBuilder

    Интересно. И что теперь? Чем она может быть вызвана? Как отлаживать программу?
  • Омлет (12.07.08 16:04) [3]
    А я почем знаю? Может в RenderFile стоит проверка на незапуск из под отладчика?

    Если есть исходники GraphBuilder, то искать строку, на которой падает. Если нет, то писать разработчикам.

    ЗЫ: странно, как-то не вяжется название GraphBuilder и mp3 ))
  • AlexanderMS © (12.07.08 18:57) [4]

    > Если есть исходники GraphBuilder, то искать строку, на которой
    > падает.
    >
    > ЗЫ: странно, как-то не вяжется название GraphBuilder и mp3 ))


    Не знаю, IGraphBuilder - это интерфейс, входящий в DirectShow. И мне ли это говорить...
    http://msdn.microsoft.com/en-us/library/ms785796(VS.85).aspx

    Не знаю, вряд ли Microsoft даст мне исходники... :)

    Вопрос ещё открыт...
  • Омлет (12.07.08 19:05) [5]
    Хм. Дело ясное, что дело темное.
  • AlexanderMS © (13.07.08 18:55) [6]
    Неужели у меня одного так? :(
    Пробовал перезапускать Delphi, всё равно: при отладке программа вылетает, при запуске из проводника - работает. А отлаживать тяжело...
  • _AlexanderMS (15.07.08 21:20) [7]
    Проверил на другом компе - всё работает.
    Есть подозрение, что просто не хватает выделяемой памяти.
    Но тогда вопрос: как увеличить память, выделяемую для Delphi и приложений, которые запускаются из Delphi по нажатию F9? Или это звучит глупо?
 
Конференция "Media" » Программа вылетает на команде IGraphBuilder.RenderFile [D7, WinXP]
Есть новые Нет новых   [133926   +466][b:0][p:0.001]