AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Aus DB in Image auf einem Frame

Ein Thema von Kralle · begonnen am 21. Okt 2010 · letzter Beitrag vom 23. Okt 2010
Thema geschlossen
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#1

Aus DB in Image auf einem Frame

  Alt 21. Okt 2010, 22:01
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
 
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#2

AW: Aus DB in Image auf einem Frame

  Alt 21. Okt 2010, 23:06
ich weißt nicht wo das Problem liegt sehe aber andere
Feld.Value <> NULL funktioniert nicht verwende Feld.isNull.

Hast Du mal versucht mit dem Debugger dem Fehler auf die Spur zu kommen?

Kann es sein dass die Felder zwar den Bildnamen enthalten aber nicht den Pfad dazu (der gehört IMHO auch nicht in die Datenbank sondern in eine Konfigurationseinstellung).

Was macht die .Post Anweisung an dieser Stelle???
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
 
Kralle

Registriert seit: 31. Okt 2004
Ort: Bremerhaven
355 Beiträge
 
Delphi XE7 Professional
 
#3

AW: Aus DB in Image auf einem Frame

  Alt 23. Okt 2010, 17:05
Hallo,

verwende Feld.isNull.
Danke. Mache ich jetzt.

Zitat:
Hast Du mal versucht mit dem Debugger dem Fehler auf die Spur zu kommen?
Soweit es meine Fähigkeiten zulassen.

Code:
Kann es sein dass die Felder zwar den Bildnamen enthalten aber nicht den Pfad dazu
Doch, die Pfade stehen komplett drin.

Zitat:
(der gehört IMHO auch nicht in die Datenbank sondern in eine Konfigurationseinstellung).
Aber nicht dann, wenn die Bilder überall auf der Platte verteilt liegen können.
Eine Funktion, die die ausgewählten Bilder in ein Zentrales Verzeichnis kopier, ist noch auf der ToDo-Liste.

Zitat:
Was macht die .Post Anweisung an dieser Stelle???
War nur ein Versuch.

Ich Beende diesen Thread hier, da das eigentliche Problem ein anderes ist und in einem anderen Thread besprochen wird.

MfG
HEiko

EOT
 
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

AW: Aus DB in Image auf einem Frame

  Alt 23. Okt 2010, 17:30
Gemeint ist wohl dieses Thema:
http://www.delphipraxis.net/155426-j...er-delphi.html
bitte da weiter machen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
 
Thema geschlossen


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz