| |
|
|
Sato Pinto | Hallo Allerseits Normaleweise benutze ich eine Vorlage von Andreas Miethe um bmps auf Buttons zu legen, aber jetzt wollte ich Xprofan PicButton testen und stelle fest das es mit GetFocus nicht funktioniert aber wohl mit clicked den ich in meinen Programm nicht nutzen kann. Gibt es eine Lösung PicButton und @Getfocus ?? KompilierenMarkierenSeparieren Gruss Sato |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo Sato, Das Problem ist nicht Clicked, sondern Dein Code.
Du hast die variable dem Bildhandle zugeordnet. Du mußt aber den Button abfragen, wenn Du eine Raktion haben willst: KompilierenMarkierenSeparieren |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.08.2008 ▲ |
|
|
|
|
Sato Pinto | |
|
| |
|
|
|
Jörg Sellmeyer | Hallo Sato,
Nein, so ist es immer noch nicht richtig. Du weist der Variablen ende& jetzt zwei Objekte zu. Das geht nicht. So kannst Du das Bildhandle am Ende des Programms nicht mehr freigeben. Du hast jetzt auch dem Button das falsche Handle trasferimento. Vielleicht nur ein Kopierfehler? Create("hPic",...) muß eine eigene Variable haben (in meinem Beispiel hPic&) und der Button muß ebenfalls eine eigene Variablenbezeichnung erhalten. Keine Ahnung, warum Du jetzt _dlg& drin hast, aber ich vermute, der Button soll auf einem Dialog liegen.
Saluto Jörg |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.08.2008 ▲ |
|
|
|
|
| Jörg Sellmeyer
Das geht nicht. So kannst Du das Bildhandle am Ende des Programms nicht mehr freigeben. Du hast jetzt auch dem Button das falsche Handle trasferimento.
Als ich meinte das man alles wieder zerstören sollte was man auch erzeugt, meintest Du, dass dies ungefähr ein Gerücht sei weil es auch z.B. reiche einen Parent von Controls zu zerstören.
Man sollte immer alles wieder zerstören was man erzeugt. WIE man es zerstört (z.B. circa das parent) ist eine andere Sache...
PS: ich weiss das Sato hier den Fehler aber vlt. aus anderem Grunde eingebaut hatte - es aber imho auch Sato war zu dem Du meintest dass das Parentzerstören ausreicht.
Anfänger sollten immer im Hinterkopf haben dass das eigene Programm auch die Ordnung wiederherzustellen hat. Wenn Windows hiervon einen Großteil mittlerweile selbst übernimmt, dann mag das höchstens hilfreich sein. |
|
|
| |
|
|
|
Jörg Sellmeyer | Hallo David, Erstens habe ich von Dir auch noch keinen Code gesehen, in dem Du alle Controls zerstörst, zweitens geht es hier nicht um ein Control sondern um ein GDI-Objekt, nämlich das Bildhandle. Die werden meines Wissens von Windows separat behandelt und belegen nach Beendigung des Progamms weiterhin Speicher. Ich bin weiterhin sicher, dass man Buttons und andere "normale" Fensterobjekte nicht explizit erledigen muß. Ob das bei Handles per Bitmaps u.s.w. der Fall ist wäre vielleicht mal einen Versuch wert. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.08.2008 ▲ |
|
|
|
|
| Ja wir reden ordentlich aneinander vorbei. Es geht auch mir nicht darum, dass Controls alle einzeln zerstört gehören.
Es ging mir einzig darum einem Totalanfänger einmalig erklärt zu haben, dass man Dinge, welche man erzeugt, ("gefälligst") auch wieder beseitigen sollte.
Das man Controls zerstören kann, in dem man das Parent zerstört, spricht da nicht dagegen, da die Controls hierbei ja ebenso zerstört werden. "Immer" klappt das imho aber auch nicht, glaube dann nicht, wenn das Parentcontrol nicht dem eigenen Prozess angehört. (ich bin mir hierbei aber wirklich nicht sicher, meine aber schonmal eine Negativerfahrung gemacht zu haben)
Jörg Sellmeyer
Hallo David, Erstens habe ich von Dir auch noch keinen Code gesehen, in dem Du alle Controls zerstörst,
Nunu! KompilierenMarkierenSeparieren habe ich bestimmt schonmal gepostet.
Jörg Sellmeyer
zweitens geht es hier nicht um ein Control sondern um ein GDI-Objekt, nämlich das Bildhandle. Die werden meines Wissens von Windows separat behandelt und belegen nach Beendigung des Progamms weiterhin Speicher.
Hängt imho von der Windowsversion ab. Unter XP kann man wohl nichts den eigenen Prozess überleben lassen ausser File, also auch z.B. keine hPics. hPics von Bitmaps* überleben (naturalmente) das Zerstören von Bitmaps*.
*Statics |
|
|
| |
|
|
|
Jörg Sellmeyer |
Es geht auch mir nicht darum, dass Controls alle einzeln zerstört gehören.
Ok, dann reden wir nicht aneinander vorbei. |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.08.2008 ▲ |
|
|
|
|
Sato Pinto | Hallo Leute
Bitte deswegen nicht aufregen, es lohnt sich nicht.....
Jörg, ja _dlg& ist ein Dialog Handle, der Button liegt auf den Dialog. Ich habe den falschen copy and past erwischt, in meine code ist es so KompilierenMarkierenSeparieren und hoffe das es so korrekt ist
Gruss Sato |
|
|
| |
|
|
|
Jac de Lad | |
|
| Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE) Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP | 04.08.2008 ▲ |
|
|
|
|
Jörg Sellmeyer | und nochmal der Vollständigkeit halber: Das DestroyWindow(ende&) ist nicht nötig. Wenn der Dialog zerstört wird, b.z.w. das Hauptfenster am Ende des Programmi werden automatisch alle Controls mit zerstört und belegen keine Resourcen mehr. Das Bitmaphandle muß auf zerstört werden, da sonst der Speicher dafür nicht wieder freigegeben wird.
und aufregen werden wir uns bestimmt nicht, gell David?
...
David??
...
...
D A V I D !!! |
|
|
| Windows XP SP2 XProfan X4... und hier mal was ganz anderes als Profan ... | 04.08.2008 ▲ |
|
|
|
|
| Ich bin völlig frei jeden Verstandes und jeder Erregung. |
|
|
| |
|
|