AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Element '' hat kein übergeordnetes Fenster
Thema durchsuchen
Ansicht
Themen-Optionen

Element '' hat kein übergeordnetes Fenster

Ein Thema von Pseudemys Nelsoni · begonnen am 3. Apr 2005 · letzter Beitrag vom 2. Feb 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#1

Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 13:18
Tag,

es geht hier um eine abgeleitete Komponente von RichEdit.

Ich erhalte diesen Fehler (siehe Topic) sobald ich das nachgebildete RichEdit auf meine Form packe, nur wieso?

Im Create steht folgendes:

Delphi-Quellcode:
constructor TpbIRCChatBox.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
  OldWndProc := WindowProc;
  WindowProc := NewWndProc;
end;
Ich habe nach der Fehlermeldung im Forum gesucht und habe daraus gelesen, das das daher kommt weil kein Parent angegeben ist, richtig? Wenn dem so ist, wie kann ich dann den Parent wissen wenn ich gar nicht weiss wo ich das richedit nachher draufpacke?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 13:23
Moin Mario,

such' dazu mal nach Hier im Forum suchenCreateWnd

In der Prozedur sollten solche Zuweisungen funktionieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 13:26
im Create der Componente ist kein parent angegeben, und somit existiert auch noch keine WindowProc dafür.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#4

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 13:36
@Christian: ich schau mal nach, danke.

@SirThornberry: Du hast recht es liegt an dein beiden letzten Zeilen des Create's...hmmm. Wo sollte man denn due windowproc sonst umbiegen? im onshow?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 14:14
Christian Seehase hat's doch geschrieben... du musst die Prozedur CreateWnd überschreiben.

Delphi-Quellcode:
procedure TpbIRCChatBox.CreateWnd;
begin
  inherited CreateWnd);
  OldWndProc := WindowProc;
  WindowProc := NewWndProc;
end;
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 14:31
alternativ kannst du auch CreateParams überschreiben wobei das aufs gleiche hinaus läuft.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#7

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 17:32
Moin,

so ich habe CreateWnd überschrieben.

Nun wenn ich mein Programm beende ist es erstmal 1min gefroren und dann bekomme ich eine AV "Stack Overflow".

Weiss jemand was zu tun ist?

Sieht nun ca so aus:

Delphi-Quellcode:
unit pbIRCChatBox;

interface

uses
  Windows, Messages, SysUtils, Classes, Controls, StdCtrls, ComCtrls;

type
  TpbIRCChatBox = class(TRichEdit)
  private
    FWndProc: TWndMethod;
    procedure nWndProc(var Msg: TMessage);
  protected
    procedure CreateWnd; override;
  end;

procedure Register;

implementation

procedure TpbIRCChatBox.nWndProc(var Msg: TMessage);
begin
  FWndProc(Msg);
  HideCaret(Handle);
end;

procedure TpbIRCChatBox.CreateWnd;
begin
  inherited CreateWnd;
  FWndProc := WindowProc;
  WindowProc := nWndProc;
end;

procedure Register;
begin
  RegisterComponents('pb', [TpbIRCChatBox]);
end;

end.
ich sehe nicht das was falsch sein könnte oder?
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 17:33
du musst im destroy das ganze auch wieder zurück setzen
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#9

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 17:49
Verstehe ich nicht, wird durch "FWndProc(Msg);" nicht das gleiche getan als wenn ich es zurücksetze?

Btw, ich habe es nun so:


Delphi-Quellcode:
destructor TpbIRCChatBox.Destroy;
begin
  WindowProc := FWndProc;
  inherited;
end;
trotzdem gleicher fehler.
Mario
MSN: cyanide@ccode.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Element '' hat kein übergeordnetes Fenster

  Alt 3. Apr 2005, 17:59
hast du dir nach dem Fehler mal den CallStack anzeigen lassen um zu sehen durch welche procedure/function das ganze ausgelöst wird?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 13:08 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