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 Problem mit TOpen- + TSaveDialog (https://www.delphipraxis.net/112881-problem-mit-topen-tsavedialog.html)

The_Doomed 28. Apr 2008 21:39


Problem mit TOpen- + TSaveDialog
 
also wie im titel schon gesagt hab ich ein problem mit den beiden dialogen
in meinem Prog liegen diese in der MainForm wenn ich nur speichern will hab ich eine zweite formgebastelt
welche rolloverbutton beinhaltet deren Grafiken mit loadfromfile geöffnet werden
wenn ich dann meine xml datei speichern will und sich der speichern bzw öffnen dialog öffnet
sucht er jedes mal nach den rolloverbildern und bring dann einen EFOpen bzw EFSave Error


hier noch n kleiner auszug aus der form fürs speichern (database ist die hauptform

Delphi-Quellcode:
begin
database.OpenDialog1.InitialDir:= GetCurrentDir;
if database.OpenDialog1.Execute then
database.ClientDataSet1.LoadFromFile(database.OpenDialog1.FileName);
end;

procedure Tloadsaveform.loadbtnMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
loadbtn.picture.LoadFromFile('icons\openoc.gif');
end;

procedure Tloadsaveform.loadbtnMouseEnter(Sender: TObject);
begin
loadbtn.picture.LoadFromFile('icons\openro.gif');
end;

peschai 29. Apr 2008 04:55

Re: Problem mit TOpen- + TSaveDialog
 
Hallo
bist du überhaupt im richtigen verzeichnis ?
versuch mal deine dateinamen mit "ExpandFileName" zu erweiteren und dann vor dem load mit "if FileExists" ....

mkinzler 29. Apr 2008 05:40

Re: Problem mit TOpen- + TSaveDialog
 
Besser aboslute Pfade verwenden (als erweiterten Basispfad/Exepfad)

The_Doomed 29. Apr 2008 06:18

Re: Problem mit TOpen- + TSaveDialog
 
na ja das prob liegt ja ni bei den load from file das funzt
was is das mit den absoluten pfaden wie müsste das aussehen?

Bernhard Geyer 29. Apr 2008 06:31

Re: Problem mit TOpen- + TSaveDialog
 
Zitat:

Zitat von The_Doomed
was is das mit den absoluten pfaden wie müsste das aussehen?

Delphi-Quellcode:
loadbtn.picture.LoadFromFile(ExtractFilePath(Application.ExeName) + '\icons\openro.gif');

mkinzler 29. Apr 2008 06:32

Re: Problem mit TOpen- + TSaveDialog
 
Delphi-Quellcode:
loadbtn.picture.LoadFromFile(ExtractFilePath( ParamStr(0))+'icons\openoc.gif');

The_Doomed 29. Apr 2008 06:34

Re: Problem mit TOpen- + TSaveDialog
 
hab es gerade mit expand file gemacht aber wenn ich dann die die xml öffne bekomm ich trotzdem nen fehler
ich teste es noch ma mit deinem code

The_Doomed 29. Apr 2008 06:44

Re: Problem mit TOpen- + TSaveDialog
 
so muss es jetzt noch ma probieren scheint aber zu funtzen dumm is nur dass
ich fast das ganze prog mir rollovers gestaltet hab muss ich also noch überall
absolute pfade draus machen^^
danke trotzdem schon mal

The_Doomed 29. Apr 2008 06:48

Re: Problem mit TOpen- + TSaveDialog
 
funzt danke

Bernhard Geyer 29. Apr 2008 07:14

Re: Problem mit TOpen- + TSaveDialog
 
Zitat:

Zitat von The_Doomed
ich fast das ganze prog mir rollovers gestaltet hab muss ich also noch überall
absolute pfade draus machen^^

Besser Wäre es.

Das Problem bei relativen Pfaden ist das diese immer abhängig von den Suchpfaden der Anwendung sind. Und sobald der aktuelle Pfad der Anwendung nicht mehr dein Exe-Pfad ist (wird oft so sein) dann findest du deine Dateien nicht mehr.
Du könntest testhalber versuchen die Umgebungsvariable Path für deinen Prozess um den Exepfad zu ergänzen.

The_Doomed 29. Apr 2008 07:17

Re: Problem mit TOpen- + TSaveDialog
 
wie sieht das dann aus

DeddyH 29. Apr 2008 07:20

Re: Problem mit TOpen- + TSaveDialog
 
Das ist auch der Grund dafür, dass man entweder Konstanten oder String-Properties oder beides definiert und programmweit nur auf diese zurückgreift. Wenn sich etwas ändern sollte, dann nur an einer Stelle.
Delphi-Quellcode:
type
  TFormMain = class(TForm)
  ...
  private
    FFilePath: string;
  ...
  end;

...

const sSubDir = 'Bilder\';

procedure TFormMain.FormCreate(Sender: TObject);
begin
  FFilePath := IncludeTrailingPathDelimiter(ExtractFilePath(ParamStr(0))) + sSubDir;
end;

procedure TFormMain.DoSomething;
begin
  ImageWuppdi.Picture.LoadFromFile(FFilePath + 'MeinBild.bmp');
end;
So in der Art, hab' s aus dem Kopf dahergetippelt.

The_Doomed 29. Apr 2008 07:22

Re: Problem mit TOpen- + TSaveDialog
 
ok das kapier ich ^^
ja muss ich ma sehen ob ich das so mache
auf jeden fall für die zukunft
danke nochmal


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