AGB  ·  Datenschutz  ·  Impressum  







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

Frame hat kein übergeordnetes Fesnter

Ein Thema von Andy79 · begonnen am 17. Aug 2007 · letzter Beitrag vom 17. Aug 2007
Antwort Antwort
TBx
(Administrator)

Registriert seit: 13. Jul 2005
Ort: Stadthagen
1.899 Beiträge
 
Delphi 12 Athens
 
#1

Re: Frame hat kein übergeordnetes Fenster

  Alt 17. Aug 2007, 12:48
Hallo!

1. In welcher Zeile tritt der Fehler genau auf?
Hast Du im Create Deines Frames irgendwas gemacht? Z.B. die Combobox mit Werten gefüllt? Dann wird versucht, die Combobox neuzuzeichenen, und das geht natürlich schief, da der Parent ja erst dannach zugewiesen wird.
Oder setzt Du die Werte für die genannte Radiogroup oder deren ItemIndex? Es gilt das gleiche wie für die Combobox.

2. Du hast einige ganz gravierende Fehler in Deinem Code:
Delphi-Quellcode:
procedure TfEtikettendruck.Sonderetiketten1Click(Sender: TObject);
begin
// *****************************************************************************
// so nicht:
// frSonderetiketten := TfrSonderetiketten.Create(fEtikettendruck);
// *****************************************************************************
// sondern so;
  frSonderetiketten := TfrSonderetiketten.Create(self);
// *****************************************************************************
// Begründung: Du verdrahtest Deinen Frame mit einer festen Instanz (fEtikettendruck).
// Gewünscht ist aber sicherlich, wie es dem oo-Ansatz entspricht,
// den erzeugten Frame mit der aktuellen Instand zu verdrahten.

// frSonderetiketten.Parent := fEtikettendruck;
  frSonderetiketten.Parent := self; // siehe oben


  with TAdsQuery.Create(nil) do
  try
    Databasename := 'Etikettendruck';
    SQL.Add('select Rahmen from Rahmen');
    SQL.Add('where Sonder=true');
    Open;
    while not eof do
    begin
      frSonderetiketten.ListBoxReports.Items.Add(FieldByName('Rahmen').asString);
      Next;
    end;
  finally
    Free;
  end;
end;

procedure TfEtikettendruck.Versandetiketten1Click(Sender: TObject);
begin
// frVersandetiketten := TfrVersandetiketten.Create(fEtikettendruck);
  frVersandetiketten := TfrVersandetiketten.Create(self); // siehe oben
// frVersandetiketten.Parent := fEtikettendruck;
  frVersandetiketten.Parent := self; // siehe oben
  with frVersandetiketten do
  begin
// ComboBoxDrucker.Items := Printers.Printer.Printers;
    ComboboxDrucker.Items.Assign (Printers.Printer.Printers);
// --> Du möchtest sicherlich nur alle Drucker in Deine Combobox eintragen.
// die nachfolgende Zeile würde auch für schwerwiegende Systemfehler sorgen,
// wenn Du die Zuweisung der Comboboxeinträge auf die vorherige Art machst.
    ComboBoxDrucker.Items.Add('Standarddrucker');
    ComboBoxDrucker.Text := 'Standarddrucker';
  end;
end;
Hope it helps

onlinekater

PS: Du solltest die genannten Korrekturen (besonders die mit dem Assign) durchführen, bevor Du weiter den im Betreff genannten Fehler suchst.
Er könnte sich damit evtl. schon erledigen siehe Punkt 1
[Edit]Punkt1 überarbeitet[/Edit]
Thomas Breitkreuz
Gruß Thomas
- Admin DelphiPRAXIS
- Admin Delphi-Treff
- Embarcadero MVP
  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 06:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz