Програма вилітає на команді rFile
Ось функція завантаження файлу з музикою (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-файл програми "вручну", з Провідника, то програма працює нормально, без помилок. В чому може бути причина?
Помилка у GraphBuilder
> Омлет (12.07.08 14:14) [1] > Помилка в GraphBuilderЦікаво. І що тепер? Чим вона може бути викликана? Як налагодити програму?
А я чого знаю? Може в RenderFile стоїть перевірка на незапуск з-під налагодження?
Якщо є вихідні коди GraphBuilder, то шукати рядок, на якому падає. Якщо ні, то писатим розробникам.
ЗИ: дивно, якось не в'яжеться назваGraphBuilder та mp3))
> Якщо є вихідні коди GraphBuilder, то шукати рядок, на якому > падає. > > ЗИ: дивно, якось не в'яжеться назва GraphBuilder та mp3))
Не знаю, IGraphBuilder - це інтерфейс, що входить до DirectShow. І чи це мені говорити. http://msdn.microsoft.com/en-us/library/ms785796(VS.85).aspx
Не знаю, навряд чи Microsoft дасть мені вихідні дані. :)
Хм. Справа ясна, що справа темна.
Невже в мене одного так? :( Пробував перезапускати Delphi, все одно: при налагодженні програма вилітає, при запуску з провідника - працює. А налагоджувати важко.
Перевірив на іншому комп'ютері - все працює.підозра, що просто не вистачає пам'яті, що виділяється. Але тоді питання: як збільшити пам'ять, що виділяється для Delphi і додатків, які запускаються з Delphi за натисканням F9? Чи це звучить безглуздо?