dgdg Posted June 18, 2009 Share Posted June 18, 2009 (edited) So, nachdem ich das schon länger geplant habe, wollte ich mir jetzt endlich mal die Plugin-Programmierung für den DVBViewer reinziehen - ich habe da so einige Erweiterungen im Sinn, die ich gerne umsetzen möchte. Dass ich weder mit Delphi noch mit DLLs Erfahrung habe, schreckt mich erstmal nicht. Es würde mich aber freuen, wenn die erfahreneren Plugin-Programmierer mich bei ein paar Anfängerfragen unterstützt würden. Im Moment hänge ich beim Thema Debuggen von DLLs. Um den Ablauf der bei Initialisierung zu verstehen, würde ich gerne durch das Beispielprogramm steppen. Mein Stand soweit: - Ich habe Delphi 7 - ich kann das Beispiel "myprogram.dll" komplieren - ich habe in Delph unter Run->Paramters die Pfade zum DVBViewer eingetragen (Host Application und Working Directory). - ich habe in der Prozedur DLLEntry einen Breakpoint gesetzt - wenn ich jetzt auf Run gehe, wird der DVBViewer gestartet und er versucht, die DLL zu Initialisieren - dann bekomme ich den Bildschirm mit den CPU-Registern Da hänge ich jetzt. Wie bekomme ich es hin, dass ich an dieser Stelle durch den Quelltext steppen kann? Ich habe im Internet gefunden, dass man irgendwie mit Ctrl-Alt-M die Symbols neu laden soll. Das bekomme ich aber nicht hin bzw. es klappt nicht wie beschrieben. Edited June 18, 2009 by dgdg Quote Link to comment
dgdg Posted June 18, 2009 Author Share Posted June 18, 2009 (edited) Ok, because my post has been moved to this English area I try to explain it in English, too. I want to write plugins for DVBViewer with Delphi 7. Because I have no experience with Delphi 7 and DLL programming ( ) I ask for some initial support from the experienced plugin programmers here. My first problem is, that I do not know how to debug a DVBViewer DLL with Delphi 7. I want to step thru the example "myprograms.dll" to understand what is going on during initialisation and so on. - I have got Dephi 7 - I can compile the example "myprograms.dll" - I have set the path to DVBViewer at Run->Paramters (Host Application and Working Directory) - I have set a breakpoint inside the procedure DLLEntry - when I use Run in Delphi the DVBViewer is started and the processor screen appears (assembler listing and cpu registers) but I can not step thru the source code What is the right procedure to debug the example DLL - on source code level? Edited June 18, 2009 by dgdg Quote Link to comment
Lars_MQ Posted June 18, 2009 Share Posted June 18, 2009 das ist normal, das sind all die decoder die sich zickig haben, weil man sie nicht debuggen soll (da wird die liste aller verfügbaren decoder aufgebaut). Einfach immer F9 drücken bis es weitergeht. Für Deine tests musst Du probieren welcher decoder das mitmacht. Cyberlink zum beispiel weigert sich grundsätzlich mit nem debugger zu laufen und verursacht absichtlich probleme. Quote Link to comment
dgdg Posted June 18, 2009 Author Share Posted June 18, 2009 (edited) das ist normal, das sind all die decoder die sich zickig haben, weil man sie nicht debuggen soll (da wird die liste aller verfügbaren decoder aufgebaut). Einfach immer F9 drücken bis es weitergeht. Für Deine tests musst Du probieren welcher decoder das mitmacht. Cyberlink zum beispiel weigert sich grundsätzlich mit nem debugger zu laufen und verursacht absichtlich probleme. Ich habe jetzt mal einige Video- und Audiocodecs durchprobiert aber bekomme immer das gleiche Debug-Fenster. Wenn ich ein paar mal F9 drücke, lande ich tatsächlich auf meinem Breakpoint. Aber wenn ich dann nocheinmal F9 drücke, bekomme ich die nachfolgender Meldung und der Debugger wird gestoppt. Die Meldung kommt übrigens auch, wenn ich keinen Breakpoint setzte. Ich habe mal versucht, den DVBViewer mit Paramter "-c" starten zu lassen, in der Hoffnung, dass dann kein Videocodec aktiviert wird. Bringt das was? Hast du sonst noch einen Tipp für mich? Edited June 18, 2009 by dgdg Quote Link to comment
Lars_MQ Posted June 18, 2009 Share Posted June 18, 2009 setze in den start parametern mal -c. Ich wüsste den fehler so nicht zuzuordnen. Der kann von nem decoder, nem plugin oder vom viewer kommen, das wird ja alles in einen topf (sprich Process) geschmissen... Quote Link to comment
dgdg Posted June 18, 2009 Author Share Posted June 18, 2009 (edited) setze in den start parametern mal -c. Ich wüsste den fehler so nicht zuzuordnen. Der kann von nem decoder, nem plugin oder vom viewer kommen, das wird ja alles in einen topf (sprich Process) geschmissen... Genau das hatte ich schon probiert (hab's gerade oben ergänzt). EDIT: Bin einen Schritt weiter. Ich habe wegen deinem Hinweis auf andere Plugins mal alle anderen Plugins rausgeschmissen. Jetzt startet der DVBViewer durch. Ich hoffe, dass ich jetzt mit dem Debuggen weiterkommen. Edited June 18, 2009 by dgdg Quote Link to comment
Lars_MQ Posted June 18, 2009 Share Posted June 18, 2009 Interessant ist welche plugin löst den fehler aus? Besser gefragt: ist es eines von unseren plugins? Quote Link to comment
dgdg Posted June 18, 2009 Author Share Posted June 18, 2009 Interessant ist welche plugin löst den fehler aus? Besser gefragt: ist es eines von unseren plugins? Nein, mymovies.dll ist der Übeltäter. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.