Autor Beitrag
Peter18
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Mo 15.01.18 12:52 
Ein freundliches Hallo an alle,

ich habe einen seltsamen Effekt bei einem Formular. Es weigert sich Änderungen der Größe zu akzeptieren. Egal ob zur Laufzeit per Programm oder Maus oder zur Entwicklungszeit per Maus oder Objektinspektor.

Ich hatte Constraints auf die eingestellte Größe des Formulars gesetzt, das aber jetzt auf 0 geändert, um die Scalierung zur Laufzeit auch hier einzubauen. Alle Versuche die Größe zu Ändern sind fehlgeschlagen, mit einer Ausnahme, über Bearbeiten/Scalieren.

Hat jemand einen Tipp, welcher (geheime) Schalter dafür umgelegt werden muß??

Grüße von der Nordsee

Peter
Holgerx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53
Erhaltene Danke: 22

Win95 - Win8.1 / MSServer2000 - MSServer2012
Delphi 6pro / XE4
BeitragVerfasst: Mo 15.01.18 16:13 
Hmm..

Könnte es sein, dass das 'AutoSize' des Formulares auf 'True' steht ;)
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Mo 15.01.18 17:55 
Hallo Holgerx,

Dank Dir für den Tipp!! Man sieht 10 mal hin, es ist da, aber man sieht es nicht.

Ich bin die Einstellungen einige male durchgegangen, AutoSize habe isc aber immer übersehen!

Doch welch böse Falle: Zur Entwurfzeit kann ich nun die Größe ändern, aber nicht zur Laufzeit!

Grüße von der Nordsee

Peter
Holgerx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53
Erhaltene Danke: 22

Win95 - Win8.1 / MSServer2000 - MSServer2012
Delphi 6pro / XE4
BeitragVerfasst: Mo 15.01.18 19:40 
Hmm..

Und was steht nun bei 'BorderStyle' ?
bsToolWindow läst kein Resize zu laufzeiten zu ;)
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 16.01.18 11:55 
Hallo Holgerx,

nochmals Dank für Deine Antwort. Bei "BorderStyle" steht "bsSizeable". Sollie also in Ordnung sein.

Grüße von der Nordsee

Peter
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2274
Erhaltene Danke: 419

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 16.01.18 12:29 
BorderStyle ist auf bsSizeable, AutoSize ist auf false, und dennoch lässt sich das Fenster zur Laufzeit nicht vergrößern/verkleinern?
Dann muss etwas in deinem Code dafür verantwortlich sein, siehe im OnCreate und OnResize Ereignis.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 16.01.18 13:02 
Hallo Frühlingsrolle,

Dank auch Dir. "OnCreate" erzeugt einige Objekte und liest Position und Größe des Fensters aus einer Inidatei. "OnResize" existiert nicht. :gruebel:

Grüße von der Nordsee

Peter
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2274
Erhaltene Danke: 419

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Di 16.01.18 13:19 
Wird die Größe auch woanders ausgelesen, wie z.B. im OnActivate oder im OnShow?
Und sind die Werte in der Eigenschaft Constraints komplett auf 0?
Ansonsten, kommentier den Code im OnCreate aus, und schau, ob es dann geht.
Wenn das auch nichts bringt, dann zeig uns den Inhalt deiner .dfm Datei.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Delphi-Laie
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1575
Erhaltene Danke: 223


Delphi 2 - RAD-Studio 10.1 Berlin
BeitragVerfasst: Di 16.01.18 14:43 
Peter, könntest Du nicht ein Beispiel-/Rumpfprojekt hier veröffentlichen?

Du siehst ja selbst, daß es ein Stochern im Nebel ist.

_________________
Ordnung ist das halbe Leben - und sie zu schaffen die andere Hälfte.
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 16.01.18 17:58 
Hallo Frühlingsrolle,

Nochmals Dank. Es gibt 3 Ereignisroutinen: OnCreate, OnDeactivate und OnDestroy.

In der .dfm habe ich zum Formular keinen AutoSize-Eintrag gefunden. (Textanzeige + HexEdit)

Ich habe den Teil, der die Formulargröße einliest herauskommentiert und konnte die Größe ändern. Als ich die Zeilen wieder aktiviert habe, ging es immer noch. Gibt ea dafür eine Erklärung?

Leider konnte ich die Geschichte noch nicht auf dem Rechner, bei dem ich die Scalierung teste, prüfen, weil das Formular zeitgesteuert angezeigt wird. Bei der Zeitsteuerung ist ein Fehler aufgetreten, der selten auftaucht und noch nicht gefunden ist.

Grüße von der Nordsee

Peter
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 16.01.18 18:04 
Hallo Delphi-Laie,

hier ist kein Nebel! Aber Spaß beiseite, leider kann ich kein Beispiel geben, weil das Formular zu komplex ist und auch schlecht aus dem ganzen System herausgenommen werden kann, ohne das eventuell Seiteneffekte auftreten.

Grüße von der Nordsee

Peter
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 463
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Di 16.01.18 19:18 
Hallo Frühlingsrolle,

Fehler gefunden, die Testumgebung war falsch eingestellt, deshalb klapte der Test nicht. Auch auf dem anderen Rechner kann ich die Größe des Formulars jetzt verändern.

Grüße von der Nordsee

Peter
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2274
Erhaltene Danke: 419

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Mi 17.01.18 13:42 
Unter "Testumgebung war falsch eingestellt" kann alles mögliche zutreffen, aber gut, wenn es jetzt funktioniert. :zustimm:

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)