Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TCommonDialog.FileName macht Probs. (https://www.delphipraxis.net/42152-tcommondialog-filename-macht-probs.html)

Nightfly 14. Mär 2005 17:28


TCommonDialog.FileName macht Probs.
 
Zur Erklärung mal 2 Codeschnipsel:
Dieser Code dient zur Protokollierung, es soll der Pfad der Grafikdatei einer Nummer zugeordnet und in eine DB gespeichert werden.

Delphi-Quellcode:
procedure TForm1.OpenPictureDialog1Close(Sender: TObject);
begin
if Table3.Locate('Ohr',Table1Nr.Value,[]) then Table3.Edit else Table3.Append;
Table3Pfad.Value := OpenPictureDialog1.FileName;
Table3Ohr.Value := Table1Nr.Value;
Table3.Post;
end;
Nun, das Problem: die Nummer taucht in der Datenbank auf, allerdings ist der Pfad immer ein X, er schreibt ihn nicht in die DB.
Der folg. Code wird korrekt Ausgeführt:
Delphi-Quellcode:
procedure TForm1.Image1Click(Sender: TObject);
begin
OpenPictureDialog1.Execute;
Image1.Picture.LoadFromFile (OpenPictureDialog1.FileName);
end;
Da Die Imagekomponente das ausgewählte Bild anzeigt (dies geschieht ja über FileName) muß diese Eigenschaft ja den korrekten wert beinhalten. Warum landet dieser dennoch nicht in der DB? Jemand ne idee?

Sharky 14. Mär 2005 17:35

Re: TCommonDialog.FileName macht Probs.
 
Hai Nightfly,

im .Onclose der "File-Dialoge" ist .FileName noch nicht gesetzt.

Nightfly 16. Mär 2005 14:46

Re: TCommonDialog.FileName macht Probs.
 
oh...mist, das is schlecht :(

Sharky 16. Mär 2005 14:58

Re: TCommonDialog.FileName macht Probs.
 
Zitat:

Zitat von Nightfly
oh...mist, das is schlecht :(

Warum? Du brauchst doch nur deine beiden Procedure oben zu kombinieren:
Delphi-Quellcode:
procedure TForm1.Image1Click(Sender: TObject);
begin
  if (OpenPictureDialog1.Execute) then
  begin
    if Table3.Locate('Ohr',Table1Nr.Value,[]) then
    begin
      Table3.Edit
    end
    else
    begin
      Table3.Append;
    end;
    Table3Pfad.Value := OpenPictureDialog1.FileName;
    Table3Ohr.Value := Table1Nr.Value;
    Table3.Post;
    Image1.Picture.LoadFromFile (OpenPictureDialog1.FileName);
  end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:16 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