AGB  ·  Datenschutz  ·  Impressum  







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

twwdbrichedit - Element '' hat kein übergeordnetes Fenster

Offene Frage von "nobile"
Ein Thema von nobile · begonnen am 15. Nov 2012 · letzter Beitrag vom 16. Nov 2012
Antwort Antwort
nobile

Registriert seit: 15. Nov 2012
3 Beiträge
 
#1

twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 16:08
Hallo zusammen

ich habe folgendes Problem mit der Komponente TwwDBRichEdit von InfoPower Studio 2011.

Wenn ich die Komponente auf ein Formular setze und die DataSource und DataField zuordne, anschliessend als EXE starte, kann ich das Dialogfeld über die F2 Taste problemlos öffnen - Daten bearbeiten - formatieren usw.

Wenn ich jedoch die Kompenente auf ein Formular setze (alles analog wie oben), das Formular jedoch als DLL generiere und diese DLL anschliessend über die EXE starte, dann werden die Daten ebenfalls richtig angzeigt aber wenn ich die F2 Taste drücke um das Dialogfeld zu öffnen, bekomme ich die Fehlermeldung :

"Im Projekt Probe.exe ist eine Exception der Klasse EInvalidOperation mit der Meldung 'Element '' hat kein übergeordnetes Fenster' aufgetreten."

Kann mir jemand sagen wo das Problem dabei liegt ?

Bin schon langsam am verzweifeln
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#2

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 16:19
Die Meldung kenne ich nur, wenn man vergessen hat, einem VCL-Control einen Parent zuzuweisen (wie eben z.B. einem RichEdit).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#3

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 16:22
Du hast aber nicht versucht die VCLs der DLL und EXE zu verknubbln? (es sollte besser da keinerlei Verbindung bestehen)

Nja, ein paar Infos was wie wo geladen/erstellt wird und was wie miteinander verbunden ist, hätte man (du) schon noch erwähnen können.


VCL in DLL ergibt halt gerne mal ein paar Probleme/Hindernisse.
http://www.delphipraxis.net/169393-m...g-oeffnen.html
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
nobile

Registriert seit: 15. Nov 2012
3 Beiträge
 
#4

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 17:34
Sorry - versuche es mal mit dem Code beizufügen :

Code der EXE-Datei auf welchem blos das TwwDBRichEdit und der Button für den Aufruf der DLL ist.
Code:
unit probe;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, wwriched, DB, DBAccess, Uni, UniProvider,
  MySQLUniProvider, MemDS, AdvGlowButton;

type
  TAufrufDLL = procedure (WasAuchImmerZuUebergebenist:string);stdcall;

  TForm1 = class(TForm)
    wwDBRichEdit1: TwwDBRichEdit;
    UniQuery1: TUniQuery;
    MySQLUniProvider1: TMySQLUniProvider;
    UniDataSource1: TUniDataSource;
    UniConnection1: TUniConnection;
    Button_AufrufDLL: TAdvGlowButton;
    procedure FormShow(Sender: TObject);
    procedure Button_AufrufDLLClick(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.FormShow(Sender: TObject);
begin
  UniQuery1.Open; // Query zum öffnen der Datenbank und anzeigen der Daten im TwwDBRichEdit - Öffnen des RichEditDialogs über F2 funktioniert tadellos
end;


procedure TForm1.Button_AufrufDLLClick(Sender: TObject);
var
  Handle     : THandle;
  pfad       : string;
  ProcAufruf : TAufrufDLL;

begin
  pfad := 'C:\PROBELAUF\Probedll.dll';
  Handle:=LoadLibrary(PChar(pfad));
  if Handle <> 0 then
    begin
      @ProcAufruf := GetProcAddress(Handle, 'ShowProbeDLL');
      if @ProcAufruf <> nil then
        begin
          ProcAufruf('blabla');
      end;
      FreeLibrary(Handle);
  end;
end;

end.

Code von der DLL welche über den Button "Button_AufrufDLL" aufgerufen wird. Auf diesem Formular ist ebenfalls ein TwwDBRichEdit, in welchem die Daten von der Datenbank angezeigt wird, aber beim Drücken der Taste F2 zum Öffnen des Dialogfeldes kommt die Fehlermeldung.
Code:
unit Unit_ProbeDLL;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AdvPageControl, ComCtrls, StdCtrls, AdvGlowButton,
  ToolWin, DB, MemDS, DBAccess, Uni, AdvDBLookupComboBox, UniProvider,
  MySQLUniProvider, wwriched, ExtCtrls, DBCtrls;

type
  TF_ProbeDLL = class(TForm)
    my: TUniQuery;
    ud: TUniDataSource;
    MySQLUniProvider1: TMySQLUniProvider;
    re: TwwDBRichEdit;
    UniConnection1: TUniConnection;
    procedure FormShow(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  F_ProbeDLL: TF_ProbeDLL;

implementation

{$R *.dfm}

procedure ShowProbeDLL(WasAuchImmerZuUebergebenIst:string); stdcall;
begin
  with TF_ProbeDLL.Create(application) do
    try
      ShowModal;
    finally
      Free;
    end;
end;

exports

  ShowProbeDLL;

procedure TF_ProbeDLL.FormShow(Sender: TObject);
begin
  my.Open; // Query zum öffnen der Datenbank und anzeigen der Daten im TwwDBRichEdit - Öffnen des RichEditDialogs über F2 funktioniert nicht - FEHLER
end;

end.
Ich hoffe es ist nun etwas verständlicher
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 18:28
Abgesehen davon dass Du VCL -Komponenten ohne Runtimepackages nicht zu laufen bekommen wirst scheint my zwar deklariert aber nicht initialisiert/zugewiesen zu sein.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#6

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 15. Nov 2012, 20:00
Drum hatte ich ja die beiden Threads verlinkt (der Zweite ist in dem Ersten drin) ... VCL und DLLs mögen sich halt nicht.

Außerdem sollte man bei Übergabe von Strings auch noch etwas afpassen, auch wenn es hier "zufällig" grade noch so zu gehn.
Welche Delphiversion verwendet wirt, wurde zwar auch nicht genannt, aber den Hinweis bezüglich ShareMem hab Emba schon eine ganze Weile in denn DLLs drin.
(mir fällt nur grade ein, daß Emba langsam auch mal das SimpleShareMem mit erwähnen sollte)

scheint my zwar deklariert aber nicht initialisiert/zugewiesen zu sein.
Außer es liegt auf der Form drauf (in der DFM).
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
nobile

Registriert seit: 15. Nov 2012
3 Beiträge
 
#7

AW: twwdbrichedit - Element '' hat kein übergeordnetes Fenster

  Alt 16. Nov 2012, 08:23
Hallo Bummi

Die TUniQuery my liegt auf der Form und die Zuweisung der DataSource und DataField im TwwDBRichEdit erfolgte im Objektinspektor. Die TUniQuery my öffnet sich auch problemlos und der Datensatz wird auch korrekt im TwwDBRichEdit angezeigt - das Problem kommt erst, wenn ich die F2 Taste drücke und das RichEdit aufmachen soll, damit der Text formatiert werden kann.


Hallo himitsu

Ich verwende das Embarcadero RAD Studio 2010, Delphi 2010 und das TwwDBRichEdit von InfoPower Studio 2011 . Danke für den Hinweis bezüglich Strings-Uebergabe.
Bei der Vorgänger-Version Delphi 7 und dem TwwDBRichEditor von InfoPower 4000 ging es problemlos.
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 04:40 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