05. marts 2005 - 17:42Der er
8 kommentarer og 1 løsning
TStringList og TBitmap
Hej,
jeg vil gerne bruge en TstringList til at gemme en række bitmap billeder i hvor TStringList så skal bruges i række DLL-filer... jeg bruger nogenlunde følgende kode:
Var JegSkalgiDigSkalJeg, JegSkalgiDigEndnuMereSkalJeg :TBitmap; LangBitmapListe :TstringList; begin
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
var StringListDerEREnStringListe2 : TStringList; bmp :TBitmap; osv.... begin ...
try while not Eof(F) do begin Readln(F,s); bmp.LoadFromFile(s); StringListDerEREnStringListe2.InsertObject(k,s,TObject(bmp)); k := k +1; end; except on exception do begin MessageDlg('An error occured during the loading of Bitmap files.' + #13#10 + 'The error has occured while using the file "ListOfAllBMPImages.ini"',mtError, [mbOk], 0); ErrorOccured := true; end; end;
Problemet er at Image1.canvas.Draw(....... viser det samme bitmap billede uanset hvilke index jeg benytter.. altså ".Objects[1]" er uafhængig af om jeg vælger 1, 2 eller 36.... Det billede der vises er det sidste billede som indsættes i TStringListen... Readln(F,s) samt bmp.LoadFromFile virker godt nok...
I dit while loop er nød til at create din bmp hver gang. Ellers har du jo blot en stringlist, hvor ALLE items peger på den samme bitmap, der indeholder det sidst loadede billede.
while not Eof(F) do begin Readln(F,s); bmp := TBitmap.Create; <-- mangler denne bmp.LoadFromFile(s);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.