Autor Beitrag
klausiemausie
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 98

Win XP, Win Vista Ultimate
Delphi 6
BeitragVerfasst: So 15.02.09 15:38 
ich hab am ende meines programm ein kleines video laufen, also sowohl wenn die hauptform beendet wird, als wenn man auf den beendern button klickt start das video. im notify von dem mediaplayer hab ich drin stehen : application.terminate;, aber wenn ich es beende kommt "abstract error", woran kann das liegen?
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: So 15.02.09 15:40 
ich glaube, da war was von wegen dass man Objekte nicht in ihren eigenen Methoden freigeben darf...
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: So 15.02.09 15:56 
Boldar hat da glaube ich recht. Mit HALT; dürft's zwar funktionieren aber wie Luckie das mal so schön gesagt hat: "Wenn ich mein Auto anhalten will fahr ich's desshalb auch nich gleich gegen nen Baum" (sinngemäß) :mrgreen:
Vielleicht machst du's statt dessen so:
Nimm eine Globale Boolean Variable die im FormCreate auf False gesetzt wird.
im onClose der Form setzt du dann Action := caNone; und die variable auf true, aber nur, wenn die variable gerade false ist. Dann spielst du deinen Film ab. Wenn der Film abgelaufen ist, rufst close; nochmal auf, dieses mal ist deine variable schon true, das heißt, die Abfrage mit Action := caNone wird übersprungen und das Programm schließt normal. So kann der User das Programm einfach durch doppeltes auf Schließen drücken beenden und den Film überspringen, ist vielleicht user freundlicher. Wenn du das nicht willst, kannst du das natürlich auch verhindern indem du die Variable direkt vor dem "Mediaplayer sagt: ich bin fertig!"-Close; aufruf auf true setzt, statt im onClose.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 15.02.09 15:57 
Ein "abstract error" tritt normalerweise auf, wenn aus irgendeinem Grund eine als abstrakt definierte Methode aufgerufen wird. Meistens kommt eine entsprechende Warnung beim Kompilieren.

Bei dem, was du beschrieben hast, wüsste ich aber nicht, wo das da verursacht werden könnte, es sei denn es ist schon etwas freigegeben, was danach noch verwendet wird. Womit wir wieder bei dem wären, was die beiden vor mir gesagt haben.