Програмата се срива при командата rFile
Тук е функцията за изтегляне на музикален файл (mp3).
функция TMusicFile.LoadFile(FileName : WideString) : Boolean; var R : HResult; Общо: Int64; започнете R := GraphBuilder.RenderFile(PWideChar(FileName), nil); Резултат := FInitGood и (R = 0); // този ред вече не се изпълнява .
Ако стартирате програмата в Delphi, тогава на реда R := GraphBuilder.RenderFile. програмата се срива (но всичко е наред с други програми, включително Delphi IDE - можете да я стартирате отново). И ако стартирате EXE файла на програмата "ръчно", от Explorer, програмата работи добре, без грешки. Каква може да е причината?
Грешка в GraphBuilder
> Омлет (07/12/08 14:14) [1] > Грешка в GraphBuilderИнтересно. И сега какво? Какво може да го причини? Как да дебъгвам програма?
От къде знаеш? Може би в RenderFile има проверка за не-стартиране от под дебъгера?
Ако има източници на GraphBuilder, тогава потърсете реда, на който се срива. Ако не, пишете на разработчиците.
PS: странно е, някак си иметоGraphBuilder и mp3 не съвпадат))
> Ако има източници на GraphBuilder, потърсете реда, на който > пада. > > PS: странно, някак си името GraphBuilder и mp3 не си пасват ))
Не знам, IGraphBuilder е интерфейс, който идва с DirectShow. И трябва ли да го кажа. http://msdn.microsoft.com/en-us/library/ms785796(VS.85).aspx
Не знам, Microsoft едва ли ще ми даде изходния код. :)
хм Ясно е, че материята е тъмна.
имам ли такъв :( Опитах да рестартирам Delphi, но няма значение: при отстраняване на грешки програмата се срива, когато се стартира от Explorer, работи. И е трудно да се отстраняват грешки.
Проверих го на друг компютър - всичко работи. Даподозрение, че просто няма достатъчно разпределена памет. Но тогава въпросът е: как да се увеличи паметта, разпределена за Delphi и приложения, които се стартират от Delphi чрез натискане на F9? Или звучи глупаво?