Hi,
Delphi-Quellcode:
LogF.add('Form created - BeforeCreate ChatwindowData','debug',15);
// Vista Fehler irgentwo in den nächsten zeilen
chatData := TChatWindowData.Create;
try
chatData.Form := newForm;
chatData.Frame := TfraChatWindow.Create(newForm.pan_Frame);
LogF.add('Frame created','debug',15);
// hier tritt jetzt der Fehler auf(nur unter Vista)
chatData.Frame.Parent := newForm.pan_Frame;
LogF.add('Frame Parent set','debug',15);
......
Ich erzeuge eine Form mit einem Panel,
danach erzeuge ich einen Frame dem ich als Parent das Panel der Form geben möchte.
Läuft alles wunderbar, nur haben mich jetzt ein paar User des Programms darauf hingewiesen,
dass es unter Vista(egal welche Version) immer eine Schutzverletzung gibt.
Ich habe mir jetzt einen Testrechner organisiert, wo ich das ganze reproduzieren kann,
leider habe ich auf dem Rechner kein Delphi.
Deshalb die Eingrenzung des Fehlers über Logfile-Einträge :
22.11.2007 12:00:05:252 debug Level:015 Form created - BeforeCreate ChatwindowData
22.11.2007 12:00:05:267 Chat-Frame Level:015 OnCreate TfraChatWindow Leave
22.11.2007 12:00:05:267 debug Level:015 Frame created
22.11.2007 12:00:14:191 debug Level:015 Frame Parent set
Wie Ihr seht kommt der letzte Eintrag erst einige Sekunden später,
der Eintrag erscheind erst im Logfile wenn man die Schutzverletzung mit "OK"
bestätigt.
Außerdem springt das Programm beim Auftreten der Schutzverletzung NICHT ins Except,
sondern der Code läuft ganz normal weiter und das Programm/Anzeige/Frame auch.
Ich habe wirklich keine Ahnung woran es liegen könnte,
hat jemand eine Idee ? Wie gesagt der Code läuft unter jedem anderen Windows 100%,
nur unter Vista nicht.
Kann es vielleicht daran liegen das auf dem Frame ein dynamisch erzeugter TWebbrowser ist ?
Greetz DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.