Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - "Fehler 36" beim speichern von JPEG


manuthie - Fr 19.07.02 10:59
Titel: "Fehler 36" beim speichern von JPEG
Hallo zusammen,
Vielleicht ist mein Problem ja ein alter Hut, konnte jedoch über die Suche hier im Forum nichts finden.
Mein Problem: Ich erhalte in unregelmäßigen Abständen, aber eigentlich recht häufig, beim speichern eines Bildes mit der standard JPEG-Komponente (TJpegImage) den Fehler "JPEG-Fehler 36" (Die Datei wird zwar angelegt, aber hat eine Größe von 0 KB).
Die Funktion die das Bild speichern soll sieht ungefär so aus (Quasi identisch mit dem Beispiel in der Hilfe):

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
    .
    .
    .
jp := TJpegImage.Create;
try
  with jp do begin
    jp.CompressionQuality := Quality;
    Assign(bit);
    SaveToFile(FileName);
  end;
finally
  jp.Free;
end;
    .
    .
    .

Kennt jemand das Phänomen, oder mach' ich was falsch oder was? Würde mich freuen, wenn mir jemand weiterhelfen könnte.
Grüßle, Manuel


catweasel - Fr 19.07.02 14:17
Titel: bit : ?;
Hi,

Welcher Typ hat der übergebene Parameter "bit"?

Catweasel


Klabautermann - Fr 19.07.02 14:31

Hallo,

der Windows Fehler 36 ist folgender:
Zitat:
ErrorCode 36 (dez) / 24 (hex):
Zu viele Dateien zur gemeinsamen Verwendung geöffnet


Hast du die Datei noch anderweitig geöffnet bzw. hast du sehr viele andere Dateiein auch noch geöffnet?
ICh kann nicht mit sicherheit sagen das der JPeg-Fehler 36 dem Windows Fehler 36 entspriht. Aber häufig werden die Windows Fehler nur mit einer anderen Bezeichnung versehen. Bei einem SaveToFile ist das zumindest wahrscheinlich.

Gruß
Klabautermann


manuthie - Sa 20.07.02 09:54
Titel: Re: bit : ?;
Hallo Catweasel,

es handelt sich um ein ganz normales TBitmap-Objekt

Hallo Klabautermann,

vielen Dank für deinen Tip. Das ist wenigstens mal eine Richtung in der ich suchen kann. Ich konnte nämlich in der Dokumentation absolut keinen Hinweis darauf finden was die Fehlermeldung bedeuten könnte.

Grüßle, Manuel