Hallo,
ich speichere in einer "MyBase"-Datenbank die Filenamen von Bildern (JPG).
Wenn ich die Bilder das erstemal zuweise (OnClick-Ereignis auf die Image-Komponente meines Bilder-Frames), werden sie auch angezeigt.
Delphi-Quellcode:
with DataModule1.DataSource1.DataSet do
begin
Edit;
bildname:=DataModule1.OpenPictureDialog1.FileName;
FieldByName(Feldname).Value:=bildname;
Post;
Image3.Picture.LoadFromFile(bildname);
end;
Jetzt habe ich für insgesamt 13 Bilderpositionen ein Frame erstellt.
Delphi-Quellcode:
unit FramesVorlage;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ExtDlgs,
DB, DBClient, Datenmodul,Jpeg;
type
TFrame3 =
class(TFrame)
Label11: TLabel;
Image3: TImage;
Bevel3: TBevel;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Image3Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
Wenn ich jetzt aber den Datensatz wechsel oder die Datenbank neu lade, dann sind die Pfade zwar noch in der DaBa, aber ich bekomme die Bilder einfach nicht mehr angezeigt.
Ich habe das Anzeigen für die Frames (Detail01 bis Detail09) versucht so zu lösen:
Delphi-Quellcode:
procedure THauptfenster.TabControl1Change(Sender: TObject);
var i:integer;
begin
for I := 31 to 39 do
If DataModule1.DataSource1.DataSet.FieldByName('Detail0'+IntToStr(I-30)).Value <> NULL then
TFrame3(Components[I]).Image3.Picture.LoadFromFile(DataModule1.DataSource1.DataSet.FieldByName('Detail0'+IntToStr(I-30)).Value)
else //TFrame3(Components[I]).Image3.Picture:=nil;
DataModule1.ClientDataSet1.Post;
end;
Aber ich bekomme die Bilder einach nicht angezeigt.
Könnt Ihr mir helfen?
MfG
Heiko