AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FormResize Procedure Funktionier nicht

Ein Thema von Timb0 · begonnen am 20. Jun 2008 · letzter Beitrag vom 20. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Timb0

Registriert seit: 2. Apr 2008
19 Beiträge
 
#1

FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 07:48
Morgen an alle,
ich habe im Moment ein Problem. Ich habe eine Form mit FormStyle = fsMDIChild. ICh habe auf diesem Formular
ein Pagecontrol. In der Resize Funktion soll nun das Pagecontrol auf die Größe der Form angepasst werden.
Sobald ich in der Resizefunktion dem Pagecontrol die entsprechenden Werte zuweise wird die Funktion frühzeitig
beendet ohne Fehlermeldung.
was habe ich falsch gemacht ?


GRuß Timb0
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.762 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 07:53
Woher weisst Du, daß die Function frühzeitig beendet wird?
Vielleicht solltest Du einfach mal debuggen? Also einen Breakpunkt in die erste Zeile dieser Function setzen un dann schrittweise schauen was passiert...

Weil so ist das erst mal ein Ratespiel

Sherlock
Oliver
  Mit Zitat antworten Zitat
Timb0

Registriert seit: 2. Apr 2008
19 Beiträge
 
#3

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 07:59
Daher weiss ich das, ich habe Breakpoints in die Komplette Funktion eingebaut und nach der ersten, der wo die Pagecontrol Eigenschaften verändert werden, wird bei den darauf folgenden Breakpoints nicht gehalten. Dabei Passier nichts. Kommentier ich das aus dann wird an allen anderen Breakpoints ausgeführt.


GRuß Timb0
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 08:06
dann mach mal ein try..ecxept drum rum und lass Dir den Text der Exception anzeigen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Timb0

Registriert seit: 2. Apr 2008
19 Beiträge
 
#5

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:12
Ok ich denke das PRoblem ist, dass ich die Form auf der das PageControll eingebettet ist Dynamisch erzeugen. Was ich raus gefunden habe ist, dass wenn man die grösse die Form ändert und diesen Wert dann abruft dieser sich nicht geändert hat. Ich habe Überhaupt keinen Einfluss mehr auf das Formular wenn ich auf den Zeiger der auf die erstellte Form zeigt zugreife. Was mache ich könnte das sein ?

gruß Timb0
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:13
Zitat von Timb0:
Ok ich denke das PRoblem ist, dass ich die Form auf der das PageControll eingebettet ist Dynamisch erzeugen. Was ich raus gefunden habe ist, dass wenn man die grösse die Form ändert und diesen Wert dann abruft dieser sich nicht geändert hat. Ich habe Überhaupt keinen Einfluss mehr auf das Formular wenn ich auf den Zeiger der auf die erstellte Form zeigt zugreife. Was mache ich könnte das sein ?
hääähhhh?
Versteh nur Bahnhof.
Erklär das mal ein Bisschen ausführlicher.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Timb0

Registriert seit: 2. Apr 2008
19 Beiträge
 
#7

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:30
Ok Sorry ist noch was früh für mich.

ALso worum es in meinem Projekt geht:
Ich bekomme Messdaten von einer Rechensoftware, diese soll ich auswerten und Plotten. Ich habe dazu eine MDIForm angelegt welche die Daten verwaltet und dazu eine Form entworfen auf der ich ein Pagecontrol und ein Diagramm eingebettet habe. Diese Childformular will ich jetzt dynamisch erzeugen (was auch klappt) und dann während dem laufen der Software dynamisch Pages zum Pagecontrol hizuzufügen.
Greife ich während dem Laufen mittels eines Zeigers ( der auf das Spezielle Formular zeigt) auf das Formular zu, dabei reagiert das Formular auf nichts mehr.
Jetzt kommte meine Frage von eben ins Spiel. Wenn ich nun bei dem Formular die größe änderen und die gänderten daten dan abfragen will dann kann ich das nur machen wenn ich einen Button auf das Formluar lege und diesem die entsprechende Funktion zuweise. Greif ich über den Vorher angelegten Zeiger auf das Formular zu dann erhalte ich eine Expation die mir verbietet auf diese Adresse zu zu greifen. Und jetzt weiss ich nicht was ich machen könnte. Dynamisch habe ich schon oft steuerelemente hinzugefügt aber noch nie Formular auf denen ich dann wieder was hinzufüge.

Kann es vielleicht sein, dass das PRoblem ist das ich quasi in einer Klasse Rumfummel die Dynamisch erzeugt habe womit sich die Zeigerstruktur verändert. Dann würde ich ja nicht mehr mit dem selben Zeiger darauf zugreifen ???


Ich hoffe das ist etwas besser erklärt was mein Probelm ist.

GRuß und vielen Dank schonmal Timb0
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#8

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:38
Ich erzeuge auch Forms dann, wenn ich sie brauche.
Und greife auch darauf zu und es passiert kein Fehler.

Wie erzeugst Du das Formular und die darauf liegenden Komponenten?
Zeig vielleicht mal ein Bisschen Code.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Timb0

Registriert seit: 2. Apr 2008
19 Beiträge
 
#9

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:49
Also Bei dieser Funktion
Delphi-Quellcode:
procedure TForm1.MenuNeuesFensterClick(Sender: TObject);
var
  NewItem:TMenuItem;
  NewForm2:TForm2;
  str:String;
begin
str := Inputbox('Name Eingeben','Namen Des Diagramms eingeben','');
if StringlistFenster.IndexOf(str) < 0 then
begin
  Newitem := TMenuitem.create(self);
  Newitem.caption := str;
  stringlistFenster.add(str);
  newitem.OnClick := Form1.DynMenuitem;
  MenuFenster.add(NEwitem);
  ListMenuItem.Add(@NEwitem);

  NewForm2 := TForm2.create(self);
  NewForm2.caption := str;
  NEwForm2.Name:=str;
  NEwForm2.Show;
  ListFenster.add(@NewForm2);
end
else ShowMEssage('Der Name Existiert bereits!');
end;
Kann ich noch ganz locker auf das Formular zugreifen. Greif ich dan später auf einen der Zeiger aus der ListFenster zu dann sieht das so aus
Delphi-Quellcode:
PRocedure TForm1.DynMenuitem(Sender:Tobject);
var
  i:Integer;
  PForm2:^TForm2;
begin
  i:= MenuFenster.IndexOf((Sender as TMenuItem));
  PForm2 := ListFenster.Items[i-2];
  PForm2^.Height := 130
end;
dann erhalte ich eine Fehlermeldung.

Gruß Timb0
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: FormResize Procedure Funktionier nicht

  Alt 20. Jun 2008, 09:53
Vielleicht verwaltest Du das Array ListFenster ja falsch.
Warum speicherst Du Pointer und nicht TForms?

Zeig mal die Definition der Arrays.

BTW:
Warum greifst Du auf i-2 zu?


Vielleicht musst Du auch Dein Konzept neu überdenken?

P.S. Bei dem ersten Delphi-Tag in Deinem vorherigen Posting ist was falsch gelaufen.
Bitte editieren.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:28 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