Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Problem mit OpenPictureDialog (https://www.delphipraxis.net/157839-problem-mit-openpicturedialog.html)

Jack and the Juice 26. Jan 2011 15:59

Problem mit OpenPictureDialog
 
Hallo,

ich habe ein Problem mit dem OpenPictureDialog. Ich benutze Windows 7 und Delphi 2010.

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var open: TOpenPictureDialog;
begin
   try
     open := TOpenPictureDialog.Create(self);
     if open.Execute then
       pfad:=open.FileName;
       image11.picture.loadfromfile(pfad);
   finally
   open.Free;
   end;
end;
Wenn ich diese Prozedur in der Entwicklungsumgebung ausführe, bekommen ich bei Schließen der Anwendung die Windows-Fehlermeldung "Das Programm funktioniert nicht mehr...". Wird das kompilierte Programm jedoch als exe gestartet, so tritt dieses Problem nicht auf; die Anwendung schließt (scheinbar?) problemlos.

Bin mittlerweile ein wenig ratlos und nicht sicher, ob das Problem irgendwo in meinem Code liegt oder woanders...

Vielen Dank schonmal,

jackandthejuice

DeddyH 26. Jan 2011 16:02

AW: Problem mit OpenPictureDialog
 
Oha, da ist aber Einiges im Argen. Wie ist es so?
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
var open: TOpenPictureDialog;
begin
  open := TOpenPictureDialog.Create(nil);
  try    
    if open.Execute then
      begin
        pfad:=open.FileName;
        image11.picture.loadfromfile(pfad);
      end;
  finally
    open.Free;
  end;
end;

Memnarch 26. Jan 2011 16:03

AW: Problem mit OpenPictureDialog
 
WO ist Pfad definiert?
Warum übergibst du nicht direkt Open.FileName?

MFG
Memnarch

Jack and the Juice 26. Jan 2011 16:06

AW: Problem mit OpenPictureDialog
 
Das ändert leider auch nichts. Immer noch die gleiche Fehlermeldung (in der Entwicklungsumgebung).
Ich habe ebenfalls versucht, OpenPictureDialog nicht zur Laufzeit zu erzeugen, sondern als Komponente auf das Formular zu setzen. Da trat der Fehler aber auch auf.

Jack and the Juice 26. Jan 2011 16:07

AW: Problem mit OpenPictureDialog
 
Pfad ist als globale Variable vom Typ String definiert. Ich brauche den Dateinamen später noch, daher der Umweg über die Variable.

Luckie 26. Jan 2011 16:13

AW: Problem mit OpenPictureDialog
 
Und wo wird dem Pfad die Datei zugewiesen?

Jack and the Juice 26. Jan 2011 16:15

AW: Problem mit OpenPictureDialog
 
Das soll eigentlich geschehen, sobald der OpenPictureDialog geschlossen wird. Sprich: die Datei wird ausgewählt, bestätigt und OpenPictureDialog1.Filename wird der Variable "Pfad" zugewiesen.

Deep-Sea 26. Jan 2011 16:17

AW: Problem mit OpenPictureDialog
 
So ein Problem habe ich auch manchmal ... aber gänzlich ohne PictureDialog.
Ich glaube es liegt an der Kombination "Delphi - Windows 7". Die mögen sich ab und an einfach mal nicht, wie's scheint. :roll:

Jack and the Juice 26. Jan 2011 16:21

AW: Problem mit OpenPictureDialog
 
Ich hab auch schon wilde Theorien aufgestellt. Ob es tatsächlich wie Du sagst an Windows 7 - Delphi liegt, oder ob Windows merkt, dass ich es per Bootcamp auf einem Mac ausführe und deshalb den Dienst verweigert :twisted: :-D

DeddyH 26. Jan 2011 16:23

AW: Problem mit OpenPictureDialog
 
Andere Idee: Avira Virenscanner?

Jack and the Juice 26. Jan 2011 16:26

AW: Problem mit OpenPictureDialog
 
Muss ich leider auch verneinen. Nichts dergleichen, was stören dürfte.
Was mich nur wirklich stutzig macht, ist, dass der Fehler wirklich nur in Delphi selbst auftritt, ansonsten läuft es normal ab.

Deep-Sea 26. Jan 2011 16:29

AW: Problem mit OpenPictureDialog
 
Schon mal den Rechner neu gestartet (oder zumindest Delphi)?
(Simpel, aber könnte ja mal klappen *gg*)

Jack and the Juice 26. Jan 2011 16:33

AW: Problem mit OpenPictureDialog
 
Auch schon, tritt trotzdem weiter auf. Eventuell werde ich Delphi mal auf einem anderen Rechner installieren und das dort testen.
Was anderes fällt mir so spontan auch nicht mehr ein...

Bernhard Geyer 26. Jan 2011 16:36

AW: Problem mit OpenPictureDialog
 
Firewall?

Jack and the Juice 26. Jan 2011 16:38

AW: Problem mit OpenPictureDialog
 
Nutze nur die Windows-Firewall (wobei gerade die ja oftmals für Probleme sorgt), testweise deaktiviert. Ändert leider auch nichts.

taveuni 26. Jan 2011 16:56

AW: Problem mit OpenPictureDialog
 
Rufst Du irgendwo CoInitialize auf?
Wenn nein hast Du das Problem auch wenn Du eine neues Projekt mit
nur dieser Prozedur erstellst?

Jack and the Juice 26. Jan 2011 19:27

AW: Problem mit OpenPictureDialog
 
Also wenn ich ein neues Projekt erstelle, welches nur einen Button und ein Image enthält und die Prozedur aufrufe, dann tritt das Problem nicht auf. Ich nehme also an, dass dementsprechen irgendwo ein Fehler in meinem Code sitzt. Habe jetzt durch Ausklammern immer mal einige Funktionen rausgenommen und für mich scheint sich das Problem wirklich im OpenPictureDialog zu zeigen. Sobald ich dieses Fenster öffne, bekomme ich die Fehlermeldung.

Luckie 26. Jan 2011 19:32

AW: Problem mit OpenPictureDialog
 
Und wenn du einen normalen Dialog nimmst?

Jack and the Juice 26. Jan 2011 19:36

AW: Problem mit OpenPictureDialog
 
Das hab ich auch schon probiert. Hilft leider auch nicht.
Auffällig ist, dass die Anwendung fast immer bei der thumbcache.dll hängenbleibt. Vielleicht irre ich mich da auch, aber kann es eventuell damit etwas zu tun haben?

Jack and the Juice 20. Feb 2011 00:44

AW: Problem mit OpenPictureDialog
 
Falls noch jemand auf diesen Thread stoßen sollte, der ähnliche Probleme hat:

Bei mir hat es geholfen, die MidasLib ins Projekt einzubinden. Ich muss dazu sagen, dass ich Windows auf einem Mac per Bootcamp ausführe und schon einige Foreneinträge bezüglich der MidasLib in Verwendung mit Bootcamp gelesen habe. Es könnte sich also auch um ein Mac-Problem handeln.

Vielen Dank an alle, die geholfen haben!


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