Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Problem mit TOpenPictureDialog (https://www.delphipraxis.net/67882-problem-mit-topenpicturedialog.html)

prelude247 21. Apr 2006 11:16


Problem mit TOpenPictureDialog
 
Hallo!

In meiner Klasse soll eine Methode Foto_laden "eingebaut" werden.
Für die Auswahl hab ich an einen OpenPictureDialog gedacht.

Ich habe jedoch keine Ahnung was ich als Parameter in der Create-Anweisung angeben muß.

Delphi-Quellcode:
procedure TKlasse.Foto_laden;
var
  OpenDialog : TOpenPictureDialog;
begin
  OpenDialog.Create(AOwner);
  if OpenDialog.Execute then
    Foto.LoadFromFile(OpenDialog.FileName);
  OpenDialog.Free;
end;
MfG
Prelude247

himitsu 21. Apr 2006 11:21

Re: Problem mit TOpenPictureDialog
 
Ich fürchte so ... der Rückgabewert von Create ist wichtig ^^
Delphi-Quellcode:
OpenDialog := TOpenPictureDialog.Create(Form1);

prelude247 21. Apr 2006 11:30

Re: Problem mit TOpenPictureDialog
 
Danke himitsu, für die schnelle Antwort!

Delphi-Quellcode:
OpenDialog := TOpenPictureDialog.Create(Form1);
Funktioniert nicht, kann man den OpenPictureDialog nicht verwenden wenn man keine Form hat!?

MfG
Prelude247

Gollum 21. Apr 2006 11:33

Re: Problem mit TOpenPictureDialog
 
Hallo,

kann man.
Delphi-Quellcode:
OpenDialog:=TOpenPictureDialog.Create(nil);
oder
Delphi-Quellcode:
OpenDialog:=TOpenPictureDialog.Create(Application);

prelude247 21. Apr 2006 11:44

Re: Problem mit TOpenPictureDialog
 
Ich habe jetzt beide Varianten getestet.
Bei beiden kann ohne Fehler kompiliert werden, aber der Dialog wird nicht angezeigt.

MfG
Prelude247

himitsu 21. Apr 2006 11:53

Re: Problem mit TOpenPictureDialog
 
Wenn ich mich recht erinnere, dann wird intern auf/über das übergebene lternfenster auf alle Fenster der Anwendung zugegriffen und diese wärend der Anzeige des Dialogs deaktivert ... eventuell gibt's ja ja'n Problemchen, wenn dat fehlt?

Ansonsten bleibt noch selber machen ... also über GetOpenFileName (WinAPI), allerdings mußt du da die Anzeige des Bildes selber machen.


Ich häng gerade (oder besser gesagt immernoch) auch an solchen erweiterten non-VCL-Dialogen und kann dir sagen einfach wird's nicht, aber ich hoffe es sieht irgendwann mal ordentlich aus ._.

uligerhardt 21. Apr 2006 12:00

Re: Problem mit TOpenPictureDialog
 
Zitat:

Zitat von prelude247
Funktioniert nicht, kann man den OpenPictureDialog nicht verwenden wenn man keine Form hat!?

Folgendes Progrämmchen funktioniert bei mir wie erwartet:

Delphi-Quellcode:
program Project12;

{$APPTYPE CONSOLE}

uses
  jpeg,
  ExtDlgs;

var
  OpenDialog : TOpenPictureDialog;

begin
  OpenDialog := TOpenPictureDialog.Create(nil);
  if OpenDialog.Execute then
    Writeln(OpenDialog.FileName)
  else
    Writeln('(nix)');
  OpenDialog.Free;
  Readln;
end.
HTH, Uli.

prelude247 21. Apr 2006 13:10

Re: Problem mit TOpenPictureDialog
 
So, ich bins nochmal.

Also, ich hab den Quelltext von Uli einfach mal in meine Klasse kopiert und an meine Bedürfnisse angepasst. Kein Fehler beim kompilieren und auch kein Fehler bei der Ausführung.

Ich habe zwar keine Ahnung wo der Fehler war, aber jetzt funktioniert es.

Danke an alle die geholfen haben.

Bis zum nächsten Problem. :-D

Prelude247


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