Zitat:
Müsste es nicht
z:=1;
heissen innerhalb des Vergleichs?
Danke für den Tipp!!!
mein :=0 war Quatsch, :=1 wäre auch falsch, aber :=i wäre es gewesen.
Und dann läuft auch (ein bißchen) was.
Beim Einlesen von jpg Dateien (trotz "uses jpeg") kommt nämlich die Meldung "Bitmap ist ungültig"
Das TImage liest jpg immer klaglos ein. Wie gehe ich denn da vor?
TObjectDictionary<string,TBitmap> kannte ich noch nicht, scheint aber einen Blick wert - Danke!
procedure preloadImage(fname:string);
var i,z:integer;
begin
if preload then
begin
//doubletten vermeiden
z:=0;
for i := 1 to icmax do
if icname[i]=fname then
begin
z:=i;
break;
end;
if z=0 then
begin
inc(icmax);
IC[icmax]:=TBitmap.Create;
IC[icmax].LoadFromFile(fname);
icname[icmax]:=fname;
end;
end;
end;
procedure showImage(t:TImage;fname:string);
var i,z:integer;
begin
if preload then
begin
z:=0;
for i := 1 to icmax do
if icname[i]=fname then
begin
z:=i;
break;
end;
if z>0 then
t.Picture.Bitmap.Assign(IC[z]);
end
else
begin
//kein preload - Direkt anzeigen
end;
end;