AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Frame.Parent := xyz ===> Schutzverletzung unter Vista

Frame.Parent := xyz ===> Schutzverletzung unter Vista

Ein Thema von DataCool · begonnen am 22. Nov 2007 · letzter Beitrag vom 22. Nov 2007
Antwort Antwort
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#1

Frame.Parent := xyz ===> Schutzverletzung unter Vista

  Alt 22. Nov 2007, 11:23
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.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Frame.Parent := xyz ===> Schutzverletzung unter Vist

  Alt 22. Nov 2007, 12:24
Zitat von DataCool:
Außerdem springt das Programm beim Auftreten der Schutzverletzung NICHT ins Except [...]
Dann ist es wohl kaum eine Delphi-Exception.

Zitat von DataCool:
Kann es vielleicht daran liegen das auf dem Frame ein dynamisch erzeugter TWebbrowser ist ?
Schon möglich, der ist nämlich etwas zickig, wenn er nicht sichtbar ist etc.
Versuch es doch einfach: Schmeiß ihn runter und schaue ob es dann geht
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Frame.Parent := xyz ===> Schutzverletzung unter Vist

  Alt 22. Nov 2007, 13:15
Hi,

ja es ist der Webbrowser der den Stress verursacht,
ohne Webbrowser auf dem Frame tritt der Fehler nicht auf.
Nun gut jetzt werd ich mal die Nadel im Heuhaufen suchen,

Greetz DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Frame.Parent := xyz ===> Schutzverletzung unter Vist

  Alt 22. Nov 2007, 13:19
Zitat von DataCool:
ja es ist der Webbrowser der den Stress verursacht,
ohne Webbrowser auf dem Frame tritt der Fehler nicht auf.
Nun gut jetzt werd ich mal die Nadel im Heuhaufen suchen,
Viel Spas
Versuche zB. nicht auf den WebBrowser zuzugreifen, bevor er sichtbar ist ...
(Aus solchen Gründen verwende ich den WebBrowser nicht mehr für wichtigere oder komplexe Dinge)
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DataCool
DataCool

Registriert seit: 10. Feb 2003
Ort: Lingen
909 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Frame.Parent := xyz ===> Schutzverletzung unter Vist

  Alt 22. Nov 2007, 13:34
Hi,

sichtbar ist der Webbrowser die ganze Zeit(der wird schon mit dem Frame erzeugt)

Aber ich habe den Fehler jetzt glaube ich gefunden

Die Form, auf der der Frame(incl. Webbrowser) plaziert werden soll,
erzeuge ich kurz davor dynamisch und setzte visible der Form schonmal auf True.
Erst dann erzeuge ich den Frame, allerdings hat die Form ein OnPaint Ereigniss,
wo auf den Webbrowser zugegriffen wird und das ohne Schutz/Sicherheitsabfrage
ob dieser schon existiert.

Thx, dafür mich auf den richtigen Weg bei der Suche zu bringen.

Greetz DataCool
Der Horizont vieler Menschen ist ein Kreis mit Radius Null, und das nennen sie ihren Standpunkt.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:54 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