Delphi-PRAXiS
Seite 2 von 2     12   

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 OpenPictureDialog und verschiedene Bildformate (https://www.delphipraxis.net/55267-openpicturedialog-und-verschiedene-bildformate.html)

tobi1701 19. Okt 2005 15:43

Re: OpenPictureDialog und verschiedene Bildformate
 
Zitat:

Zitat von dahead
mhh, ich würde einfach beim onclose (oder bei deinen buttons) das image auf visible := False setzen. beim laden via TOPD dann halt wieder auf visible.

naja, das ist ja quasi schummeln.
wie bringt man denn etwas, wie hier das Image, in den erstellungszustand zurück?
das muss doch auch möglich sein.

Khabarakh 19. Okt 2005 15:49

Re: OpenPictureDialog und verschiedene Bildformate
 
Delphi-Quellcode:
Image.Picture := nil;
Sieht dumm aus, ist aber richtig :wink: (intern wird SetGraphic(nil) aufgerufen).

Alternative: Width und Height der Graphic auf 0 setzen.

TeronG 19. Okt 2005 15:54

Re: OpenPictureDialog und verschiedene Bildformate
 
Zitat:

Zitat von tobi1701
hm, ich habe da noch ein kleines problem, es passt zwar nicht ganz hierher, aber ich frage trotzdem mal:

Dann mach doch bitte nen neuen Threat auf ..

.free & .destroy würden das object ja nicht leeren sondern nur freigeben.
versuch doch mal
Delphi-Quellcode:
Image1.Picture := nil;
:gruebel: sollte gehen

EDIT: :gruebel: man sollte sich während des Post-Tippens nicht ablenken lassen :roll:
aber hätte da nich ne rote box kommen sollen?

tobi1701 19. Okt 2005 19:46

Re: OpenPictureDialog und verschiedene Bildformate
 
.free & .destroy würden das object ja nicht leeren sondern nur freigeben.
versuch doch mal
Delphi-Quellcode:
Image1.Picture := nil;
:gruebel: sollte gehen

also, es geht leider nicht. entweder verstehe ich etwas falsch, oder ihr mich, oder sogar beides.
deshalb poste ich mal ganz konkrret, was ich mache:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Image1:=nil;
  Form2.Image2:=nil;
  if Form2.ShowModal=mrOK then begin
  //übernahme der in Form2 eingegebenen werte
  end;
end;
so, in Form2 ist ein formular, um einen datenbankeintrag zu erzeugen. unter anderem enthält das formular auch 2 Images. und ich möchte gerne, dass wenn die Form2 geöffnet wird, die Images nichts anzeigen. ganz genau so, als würde die Form2 zum ersten mal geöffnet.

bei den TEdit feldern kann ich ja einfach sagen Edit1.Text:=''; und es ist wieder wie neu ;)
aber was sage ich bei den Images?

in der oben genannten form, stürzt das programm beim offnen der Form2 ab.

dahead 19. Okt 2005 21:20

Re: OpenPictureDialog und verschiedene Bildformate
 
Zitat:

in der oben genannten form, stürzt das programm beim offnen der Form2 ab.
meinst du beim öffnen (OnCreate) oder beim Button drücken?

weil wenn es bei OnCreate abstürzt, kann der von dir genannte code nicht der grund sein, da dieser ja erst bei klicken auf den button ausgeführt wird.

wenn ich in meinem beispiel-projekt den code (Image1.Picture := nil) ausführe, klappt es, wie es soll.

tobi1701 19. Okt 2005 21:37

Re: OpenPictureDialog und verschiedene Bildformate
 
ups, da habe ich mich ja gleich doppelt vertan, sorry.
das programm stürzt ab, wenn ich nach dem öffnen des dialogfensters (also klick auf den button) dem Image1 (oder 2) ein bild über den TOpenPictureDialog zuweisen will.
und das passiert nur, wenn die
Delphi-Quellcode:
Image1.Picture := nil;
zeile da steht. wenn sie weg ist, funktioniert alles so wie es soll, bis auf das ein geladenes bild beim erneuten öffnen noch zu sehen ist...

TeronG 20. Okt 2005 06:24

Re: OpenPictureDialog und verschiedene Bildformate
 
Zitat:

Zitat von tobi1701
Delphi-Quellcode:
Image1.Picture := nil;
also, es geht leider nicht. entweder verstehe ich etwas falsch, oder ihr mich, oder sogar beides.
deshalb poste ich mal ganz konkrret, was ich mache:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.Image1:=nil;
  Form2.Image2:=nil;
  if Form2.ShowModal=mrOK then begin
  //übernahme der in Form2 eingegebenen werte
  end;
end;

Mach doch mal ein .Picture hinter dein Image1 (bzw. image2)
dann sollte es klappen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.
Seite 2 von 2     12   

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