![]() |
Imagelist behält die hinzugefügten Bitmaps nicht
Hallo Leute,
habe das Problem, dass meien Imagelist die ihr hizugefügten Bitmaps nicht behält. Ich habe im Designmodus meine Imagelist, die auf einem Datenmodul "dm_fkal_ico" liegt mit 10 Bitmaps gefüllt. Wenn ich nun zur laufzeit die Imagelist mit weiteren Bitmaps fülle, bleibe diese nicht drin, nur unmittelbar nach dem laden sind die vorhanden.
Delphi-Quellcode:
brauche Rat :cry:
//Laden:
var sFile : String; Bitmap := TBitmap.create; Bitmap.width := 28; Bitmap.height := 28; sFile := Opendialog1.FileName; Bitmap.loadFromFile(sFile); Bitmap.Transparent := True; Bitmap.TransparentMode := tmAuto; fDM_FKAL_ICO.Imagelist1.AddMasked(Bitmap , Bitmap.TransparentColor); [edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit] |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Hallo,
wie meinst Du das direkt nach dem Laden sind sie noch da? Verschwinden die Bilder während des Programmlaufs oder nachdem Du das Programm neu gestartet hast? Grüße Klaus |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
ich habe ein formular wo ich mit dem button "hinzufügen" die bilder zusätzlich in die Imagelist1 einfüge, wie oben gesehen, anschließend zeige ich die bilder in einem stringgrid.
Diese sind noch da und werden angezeigt. wenn ich das formular schließe und wieder aufrufe und die Imagelist1 wieder abfrage sind die geladenen bilder weg??? das versteh ich nicht |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Zitat:
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
mit:
Delphi-Quellcode:
rufe ich mein Formular auf wo sofort mein Stringgrid mit den Werten der Imagelist1(die auf dem Datenmodul "dm_fkal_ico" liegt)
FO_ICONS := TFO_ICONS.Create(self);
try if FO_ICONS.ShowModal = mrOK then geladen wird. nach erneutem aufruf wird mein stringdrid nur mit den 10 bildern, die ich während des Entwurfs in der Imagelist1 gespeichert habe gefüllt. Es scheint mir so, als ob die Bilder nach dem hinzufügen nicht behalten werden, ich will ja das die Bilder dann fest drin sind und z.b auch im Entwurfsmodus sichtbar sind, da ich diese Imagelist1 auf anderen Formularen zur Darstellung meiner Icons verwende!? [edit=sakura] [delphi]-Tags. Mfg, sakura[/edit] |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Die zur Laufzeit hinzugefügten Bilder werden auch nicht automatisch in der dfm gespeichert, sondern nur die zur Designzeit hinzugefügten.
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Zitat:
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
mit anderen worten mein user hat überhaupt keine möglichkeit seine bilder in meine Imagelist hinzuzufügen die dann auch dauerhaft drin bleiben?
muss ich die vom user hinzugefügten bilder erst in einem ordner alle ablegen und dann meine Imagelist jedesmal beim zugriff auf meine dm_fkal_ico mit den bildern aus dem ordner füllen? ich bin echt verzweifelt :( |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Zitat:
Zitat:
PS: Ich hoffe, du gibst "FO_ICONS" auch wieder frei ?! ;) |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Der Ordner dürfte dann aber unter Vista nicht im Programmverzeichnis sein, weil die UAC auch dann zuschlägt.
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
danke für die Antworten euch allen, ich habe nun dies gemacht:
jedesmal wenn ich auf meine Imageliste auf dem fdm_fkal_ico zugreife, lade ich diese neu mit:
Delphi-Quellcode:
somit ist meine liste immer abgespeichert.
procedure TDM_FKAL_ICONS.DataModuleCreate(Sender: TObject);
begin Laden; end; //************************************************** procedure TDM_FKAL_ICONS.Laden; var FS : TFileStream; Filename : String; AppPath : String; begin AppPath:=ExtractFilePath(ParamStr(0)); AppPath:=IncludeTrailingBackSlash(AppPath); Filename:=AppPath+'Imageliste.iml'; FS:=TFileStream.Create(Filename,fmOpenRead); Try FS.ReadComponent(Imageliste1); Finally FS.Free; end; end; //*************************************************** beim Freigeben des DM mache ich dies: procedure TDM_FKAL_ICONS.DataModuleDestroy(Sender: TObject); begin Speichern; end; procedure TDM_FKAL_ICONS.Speichern; var FS : TFileStream; Filename : String; AppPath : String; begin AppPath:=ExtractFilePath(ParamStr(0)); AppPath:=IncludeTrailingBackSlash(AppPath); Filename:=AppPath+'Imageliste.iml'; FS:=TFileStream.Create(Filename,fmCreate); Try FS.WriteComponent(Send_lad); Finally FS.Free; end; end; und dann habe ich das mit dem Hinzufügen so gelöst, dass ich nach dem "Hinzufügen" des Bitmap auf dem FO_ICONS sage: fdm_FKAL_ICO.Speichern [edit=sakura] [delphi]-Tags. Mfg, sakura[/edit] |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
das was du machst ist wie erwähnt gefährlich unter Vista und wird unter XP ohne adminrechte u.U. auch fehlschlagen. benutzer haben/sollten keine Schreibrechte im Programmverzeichnis haben!
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
ja dann werd ich wohl die liste nicht im Programmverzeichnis speichern müssen :lol:
|
Re: Imagelist behält die hinzugefügten Bitmaps nicht
achja oben stehts ja schon, habs übersehen
gilt es denn dann für das gesamte Programmverzeichnis also: /Programme/Mein Programm --> hier liegt die Exe oder kann ich das in /Programme/Mein Programm/SystemOrdner/ speichern??? |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
@dot: Ich habe zwei Deiner Beiträge editiert und [delphi]-Tags eingefügt. Erledige dieses bitte in Zukunft selbständig :) Dazu einfach den Delphi-Code einfügen, markieren und den Button Delphi-Code über dem Editfeld klicken.
Danke, ...:cat:... |
Re: Imagelist behält die hinzugefügten Bitmaps nicht
Zitat:
...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz