Keine Fehlermeldung bei fehlenden Plugins

Alles rund um die Programmierung mit Qt
Antworten
Silicomancer
Beiträge: 17
Registriert: 3. Dezember 2009 14:04

Keine Fehlermeldung bei fehlenden Plugins

Beitrag von Silicomancer »

Hi!

Nein, keine Sorge, meine Application findet ihre Plugins :-)

Aber letztens vergaß ich, dem installer eines meiner Plugins einzubauen. D.h. der Anwendung fehlte eine plugin DLL (in meinem Fall für Phonon). Was mich nun gewundert hat: Es gab keinerlei Fehlermeldung... die Soundausgabe hat einfach nicht funktioniert. Leider ist das erst sehr spät aufgefallen.

Es wäre sehr wünschenswert, von Qt eine Fehlermeldung zu bekommen, wann immer eine Plugin-DLL nicht gefunden werden konnte.

Darum meine Frage: Wie kann ich mir von Qt sagen lassen, ob alle benötigten Plugins tatsächlich geladen werden konnten, so dass ich eine Fehlermeldung ausgeben kann?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Das würde irgendwie den Sinn eines Plugins zuwiderlaufen wenn ein Plugin nicht optional wäre, oder?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Silicomancer
Beiträge: 17
Registriert: 3. Dezember 2009 14:04

Beitrag von Silicomancer »

Wenn meine Application ohne Phonon-Treiber nicht läuft, warum sollte sie dann ohne Phonon-Treiber starten? Eine vernünftige Fehlermeldung "konnte DLL nicht laden" wäre da sehr wünschenswert. Optional ist daran, aus Sicht einer Applikation, nichts. Nur weil eine DLL zur Laufzeit geladen wird, heißt das nicht, dass sie optional ist.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

Das macht keinen Sinn, weil eine Applilation unabhaenig von ihren Plugin sein soll (sonst ist es kein echtes "Plugin" (eine Erweiterung der Software).

Wenn eine Software abhaengig von einem Plugin ist, so kann sie dies ja sebst pruefen und selbst eine Fehlermeldung ausgeben..

Siehe: http://doc.qt.nokia.com/4.6/phonon-capabilities.html
Wenn deine Applikation mp3 abspielen muss, kann sie dies vermutlich mit den MIME-Types pruefen und eine entsprechende Fehlermeldung ausgeben.

hth...
Silicomancer
Beiträge: 17
Registriert: 3. Dezember 2009 14:04

Beitrag von Silicomancer »

solarix hat geschrieben:Das macht keinen Sinn, weil eine Applilation unabhaenig von ihren Plugin sein soll (sonst ist es kein echtes "Plugin" (eine Erweiterung der Software).

Wenn deine Applikation mp3 abspielen muss, kann sie dies vermutlich mit den MIME-Types pruefen und eine entsprechende Fehlermeldung ausgeben.
Hm. Ich glaube ich weiß was Du meinst. Bei den SQL Treibern läßt sich ja auch prüfen, welche Datenbanken angesprochen werden können. Da sind auch in der Tat verschiedene möglich.

Bei Phonon ist mir das aber noch nicht ganz klar. Immerhin gibt es hier genau ein Backend (phonon_ds94.dll) das sich, so weit ich weiß, nicht austauschen läßt. Oder gibts es Alternativen? Wenn es bei Phonon natürlich auch so läuft, dass die phonon_ds94.dll optional ist und ich ein anderes Backend laden könnte, dann gebe ich Dir recht. Dann sind die MIME-Typen die richtige Methode.

Mal eine Frage am Rande: Woher weiß Qt eigentlich, ob eine DLL, das es im Suchpfad findet, nun ein X-beliebige DLL, ein SQL-Treiber oder ein Phonon-Backend ist? Öffnet Qt wirklich alle DLLs im Suchpfad und lies aus, worum es sich handelt?
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Unter Linux gibt es xine und gstreamer, mplayer und vlc scheinen sich auch zu machen. Die beiden letzteren laufen als Programm bekanntlich auch unter Windows, würde ich wundern wenn das phonon-Plugin nicht portier[t|bar] wäre.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Silicomancer
Beiträge: 17
Registriert: 3. Dezember 2009 14:04

Beitrag von Silicomancer »

Also, inzwischen ist alles klar und vernünftig abgesichert. Vielen Dank nochmal an euch!
Antworten