Forum: PC-Programmierung int hr = Avi.AVIFileOpen( nicht 0 warum


von Lars (Gast)


Lesenswert?

Hallo ich habe eine Klasse mit einer open Funktion .

Die Datei ist nicht vorhanden und soll angelegt werden.

was ist wenn hr != 0 ist?

ist die Datei dann fehlerhaft?

von Peter II (Gast)


Lesenswert?

wenn es sich um folgende Funktion handelt:


http://msdn.microsoft.com/en-us/library/windows/desktop/dd756800(v=vs.85).aspx

Return value

Returns zero if successful or an error otherwise. Possible error values 
include the following.

von Martin S. (sirnails)


Lesenswert?

1
Return code    Description
2
3
AVIERR_BADFORMAT  The file couldn't be read, indicating a corrupt file or an unrecognized format.
4
5
AVIERR_MEMORY    The file could not be opened because of insufficient memory.
6
7
AVIERR_FILEREAD    A disk error occurred while reading the file.
8
9
AVIERR_FILEOPEN    A disk error occurred while opening the file.
10
11
REGDB_E_CLASSNOTREG  According to the registry, the type of file specified in AVIFileOpen does not have a handler to process it.

von Lars (Gast)


Lesenswert?

Ja genau aber warum ist das bei mir im Code nicht 0?

von IstDasSoSchwer (Gast)


Lesenswert?

Ist es denn zu schwer, einfach mal den Code oder Teile davon hier zu 
posten?
Woher sollen wir denn wissen, warum das bei dir nicht 0 ist?
Und wenns nicht 0 ist, was ist es denn dann??

Infos, Infos, Infos...... kopfschüttel

von Karl H. (kbuchegg)


Lesenswert?

Lars schrieb:
> Hallo ich habe eine Klasse mit einer open Funktion .
>
> Die Datei ist nicht vorhanden und soll angelegt werden.
>
> was ist wenn hr != 0 ist?

Dann schreibst du
1
  int hr = Avi.AVIFileOpen( .....
2
3
4
  if( hr == AVIERR_BADFORMAT )
5
    GIb eine Meldung aus, dass die Datei beschädigt oder ungültig ist
6
7
  else if( hr == AVIERR_MEMORY )
8
    Gib eine Meldung aus, dass zu wenig Speicher zum Öffnen der Datei
9
    zur Verfügung steht
10
11
  else if( hr == AVIERR_FILEREAD )
12
    Gib eine Meldung aus, dass es einen allgeimeinen Fehler
13
    beim Zugriff auf die Datei gab
14
15
  else if( hr == AVIERR_FILEOPEN )
16
    Gib eine Meldung aus, dass es einen allgeimeinen Fehler
17
    beim Öffnen der Datei gab
18
19
  else if( hr == REGDB_E_CLASSNOTREG )
20
    Gib eine Meldung aus, dass kein Codec für dieses Dateiformat
21
    installiert ist.
22
23
  else
24
    Gib eine Meldung aus, dass ein unbekannter Fehler mit dem 
25
    Code <hr> beim Öffnen der Datei <Dateiname> aufgetreten ist

genau deswegen gibt es nämlich den Returncode und genau deswegen sind 
diese Konstanten in der Doku aufgeführt, damit man sinnvoll darauf 
reagieren kann.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.