AGB  ·  Datenschutz  ·  Impressum  







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

Item/TPageControl zur Designzeit im Frame

Ein Thema von TheThrust · begonnen am 17. Feb 2008 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#1

Item/TPageControl zur Designzeit im Frame

  Alt 17. Feb 2008, 18:14
Hallo liebe DP.

Ich habe folgendes Problem:
Ich möchte mehrere Frames über PageControl in meine MainForm zur Laufzeit einbinden.
Die Komponenten befinden sich allerdings schon zur Designzeit auf den Frames.
Alle funktionierte schon perfekt, bis ich ein MemoFeld, eine ComboBox oder ähnliches mit properties wie .Items oder .tabs nutzen wollte.

Wenn schon zur Designzeit Items oder Tabs vorhanden waren bekam ich beim kompilieren folgende Fehlermeldung:
Zitat:
Error reading ComboBox1.Items.Strings: Control 'Frame1' has no parent window
Ich habe schon alle möglichen 'Parent'-Properties gesetzt, einschließlich der der ComboBox und des Frames, ich weiß einfach nicht mehr weiter...

Wenn ich die Items erst zur Laufzeit erstellen lasse, habe ich keinerlei Probleme, nur einen riesen Aufwand, den ich wenn möglich vermeiden möchte...

Ich freue mich über jede Lösung bzw. Denkanstöße

mfg TheThrust
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Item/TPageControl zur Designzeit im Frame

  Alt 17. Feb 2008, 18:54
Ich meine du müsstest bevor die Frams nutzt doch noch ein FramSet platzieren... bzw. hinzufügen. Das ist sowas wie ein From.... Aber ich habe Delphi schon länger nicht mehr genutzt... Schau mal bei Delphi unter Neu ob du da was mit FrameSet findest.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#3

Re: Item/TPageControl zur Designzeit im Frame

  Alt 17. Feb 2008, 22:52
Das klingt irgentwie logisch, aber ich kann in meiner Tool-Palette kein FrameSet finden, kann es sein, dass ich noch eine extra dll brauche?
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Item/TPageControl zur Designzeit im Frame

  Alt 18. Feb 2008, 13:31
Ich meinte ja auch nicht die Komponenten leiste sondern das Neu Menu unter Datei. Da solltest du sowas finden in dieser Richtung, wenn du Delphi benutzt. Ich weiß aber nicht genau ab wann es FramSet gibt in Delphi. Kann sein da du ein Version hast in der du kein FramSet hast.

also nochmal:
MenuPunkt Datei, Neu..., und Irgendwo dort im Dialog sollte sich ein Eintrag verstecken der FramSet oder so ähnlich heißt. Wenn ich mich nicht irre.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Item/TPageControl zur Designzeit im Frame

  Alt 18. Feb 2008, 14:36
Herzlich willkommen in der Delphi-PRAXiS, TheThrust.

FrameSet ist wohl eher ein HTML-Element.

Kannst du ein Miniprojekt bereitstellen - mit einer Anleitung, wie dein Problem nachvollzogen werden kann?

Freundliche Grüße
  Mit Zitat antworten Zitat
TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#6

Re: Item/TPageControl zur Designzeit im Frame

  Alt 18. Feb 2008, 20:57
Danke

Ok, ein kleines Beispiel also: Es handelt sich hierbei um ein Form mir 4 eingebundenen Frames:

Delphi-Quellcode:
unit main_fr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, fr0, fr1, fr2, fr3, Borland.Vcl.Menus, System.ComponentModel,
  Borland.Vcl.StdCtrls, Borland.Vcl.ComCtrls;

type
  Tmain_form = class(TForm)
    MainMenu1: TMainMenu;
    Start1: TMenuItem;
    test1: TMenuItem; //Dies hier ist der Auslöser zum Einbinden der Frames
    Forschung1: TMenuItem;
    PageControl1: TPageControl;
    procedure test1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  main_form: Tmain_form;

implementation

{$R *.nfm}

var
  fr : array[0..3] of TFrame;

procedure Tmain_form.test1Click(Sender: TObject);
var
p : TTabSheet;
i : integer;
begin
  for i := 0 to 3 do
  begin
    p := TTabSheet.Create(PageControl1);
    p.PageControl := PageControl1;
    p.Name := 'nummer_' + IntToStr(i);
    p.Caption := 'caption_' + IntToStr(i);
    p.Show;
    fr[i].parent := p;
    fr[i].Show;
  end;
end;

procedure Tmain_form.FormCreate(Sender: TObject);
begin
  fr[0] := fr0.TFrame1.Create(self);
  fr[1] := fr1.TFrame4.Create(self);
  fr[2] := fr2.TFrame5.Create(self);
  fr[3] := fr3.TFrame6.Create(self);

end;

end.
Per klick auf den Eintrag "test1" im Main-menu werden die Frames den einzelnen Tab-sheets zugewiesen, nachdem per FormCreate-methode die Frames erzeugt wurden.

Auf den Frames befindet sich kein code, es reicht schon ein memofeld mit dem Standard-Item "Memo1" auf eines der Frames zu setzten um den oben erwähnten Fehler zu erzeugen.

Vielen Dank schon mal Im Vorraus

TheThrust
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#7

Re: Item/TPageControl zur Designzeit im Frame

  Alt 18. Feb 2008, 21:16
Tritt der Fehler auch auf, wenn du deinen Code leicht abwandelst?

Delphi-Quellcode:
procedure Tmain_form.test1Click(Sender: TObject);
var
  p : TTabSheet;
  i : integer;
begin
  // zuerst etwa vorhandene TabSheets entfernen!
  // ...
  for i := 0 to 3 do
  begin
    p := TTabSheet.Create(PageControl1);
    p.PageControl := PageControl1;
    // p.Name := 'nummer_' + IntToStr(i);
    // p.Caption := 'caption_' + IntToStr(i);
    // p.Show;
    p.Parent := PageControl1; // that's it!
    fr[i].parent := p;
    // fr[i].Show;
  end;
  PageControl1.ActivePageIndex := 0;
end;
  Mit Zitat antworten Zitat
TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#8

Re: Item/TPageControl zur Designzeit im Frame

  Alt 18. Feb 2008, 23:16
Ja, tut mir leid, keine Veränderung, immernoch die gleiche Fehlermeldung...

Noch weitere Ideen, oder soll ich euch mal die Dateien uploaden oder ne echse oder so?

MFG TheThrust
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#9

Re: Item/TPageControl zur Designzeit im Frame

  Alt 20. Feb 2008, 06:49
Moin,

wenn ich dein Projekt mit D7 öffnen kann, werde ich es mir anschauen.

Freundliche Grüße
  Mit Zitat antworten Zitat
TheThrust

Registriert seit: 30. Jan 2008
19 Beiträge
 
#10

Re: Item/TPageControl zur Designzeit im Frame

  Alt 20. Feb 2008, 22:04
Habe das Problem jetzt anders gelöst:

Ich habe alles in Delphi 7 kopiert, nichts verändert und es läuft, weiß der Henker, wo dort der Fehler war.
Aber:

Ohne
    p.Parent := PageControl1; // that's it! funktioniert es dann doch nicht, also hätte ich auch so hier posten müssen.

Vielen Dank also für die Hilfe!!!
  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 05: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