Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dynamische Komponente wird nicht "ausgegeben" (https://www.delphipraxis.net/31962-dynamische-komponente-wird-nicht-ausgegeben.html)

Nicodius 16. Okt 2004 10:28


Dynamische Komponente wird nicht "ausgegeben"
 
Delphi-Quellcode:
procedure TEreignis.CreateForm(Left,Top,Width,Height : Integer; Caption, Text : String; Form : TWinControl);
var button : TButton;
begin
  Ereignis_Form := TForm.Create(Form);
  Ereignis_Form.Left := Left;
  Ereignis_Form.Top := Top;
  Ereignis_Form.Width := Width;
  Ereignis_Form.Height := Height;
  Ereignis_Form.Caption := Caption;
  Ereignis_Form.BorderStyle := bsdialog;
  Ereignis_Form.Visible := true;
  Ereignis_Form.Parent := Form;

  Ereignis_Text := TLabel.Create(Ereignis_form);
  Ereignis_Text.Caption := Text;
  Ereignis_Text.AutoSize := true;
  Ereignis_Text.Left := 5;
  Ereignis_Text.Top := 5;
  Ereignis_Text.Visible := true;
  Ereignis_Text.WordWrap := true;
  Ereignis_Text.Top := Height div 2;

  button := TButton.Create(Ereignis_form);
  button.Caption := 'OK';
  button.Left := 5;
  button.Top := Top + Height div 2;
  button.Width := Width-5;
  button.Height := Height-5;
  button.Visible := true;
  button.OnClick := OkButtonClick;
das form wird generiert aber der btuton und das label nicht(ich kann da nur ne groupbox als parent übergeben... das mag ich aber nicht, form kann ich nicht übergeben)

[edit=Christian Seehase]Delphi-Tags korrigiert Mfg, Christian Seehase[/edit]

Meflin 16. Okt 2004 10:49

Re: Dynamische Komponente wird nicht "ausgegeben"
 
versuchs mal mit
Delphi-Quellcode:
Ereignis_Text := TLabel.Create(self);
Ereignis_Text.PArent := Ereignis_Form;

Gruber_Hans_12345 16. Okt 2004 10:50

Re: Dynamische Komponente wird nicht "ausgegeben"
 
du mußt dem button als Parent das Form geben ! erst dann sind sie sichtbar !

Delphi-Quellcode:
Ereignis_Text.Parent := Ereignis_Form;

Nicodius 16. Okt 2004 10:51

Re: Dynamische Komponente wird nicht "ausgegeben"
 
[Fehler] ereignis.pas(38): Inkompatible Typen: 'TComponent' und 'TEreignis'
[Fehler] ereignis.pas(39): Inkompatible Typen: 'TWidgetControl' und 'TForm'
[Fehler] ereignis.pas(48): Inkompatible Typen: 'TComponent' und 'TEreignis'
[Fehler] ereignis.pas(49): Inkompatible Typen: 'TWidgetControl' und 'TForm'
[Fataler Fehler] prjMCnew.dpr(7): Verwendete Unit '..\ereignis.pas' kann nicht compiliert werden

Nicodius 16. Okt 2004 10:57

Re: Dynamische Komponente wird nicht "ausgegeben"
 
@ Gruber_Hans_12345

das dachte ich auch aber : "[Fehler] ereignis.pas(39): Inkompatible Typen: 'TWidgetControl' und 'TForm'" hat mich eines besseren belehrt ;)

Gruber_Hans_12345 16. Okt 2004 11:00

Re: Dynamische Komponente wird nicht "ausgegeben"
 
zeig mal die Deklaration von deinen variabeln.
Was sind TWidgetContro und TEreignis für Componenten ?

Nicodius 16. Okt 2004 11:03

Re: Dynamische Komponente wird nicht "ausgegeben"
 
das ist von ner unit von mir

Delphi-Quellcode:
unit ereignis;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, QStdCtrls;
type
  TEreignis = class
  Ereignis_ID   : Integer;
  Ereignis_Titel : String[150];
  Ereignis_Text : TLabel;
  Ereignis_Bild : TImage;
  Ereignis_Besd : Set of (bok,bno,byes,bcancle);
  Ereignis_Form : TForm;
  procedure CreateForm(Left,Top,Width,Height : Integer; Caption, Text : String; Form : TWinControl);
  procedure OkButtonClick(Sender : TObject);

end;

und Twidgetcontrol ist zum beispiel eine Groupbox ;)

Gruber_Hans_12345 16. Okt 2004 11:23

Re: Dynamische Komponente wird nicht "ausgegeben"
 
ah, verwendest du CLX ? (QStdCtrls)

und TWidgetControl hab ich noch nie gehört / gesehen in einer VCL Anwendung.

Sind dann eh alles CLX Sachen ? (Ich glaube, das man VCL und CLX nicht wirklich mischen kann/darf)

Aber mit CLX, hab ich noch nie was gemacht, immer nur VCL und Windows .....

Gruber_Hans_12345 16. Okt 2004 11:26

Re: Dynamische Komponente wird nicht "ausgegeben"
 
.... falls du kein CLX verwendest, und die unit QStdCtrls nur "zufällig" reingekommen ist, dann ersetzte sie einfach mal mit "StdCtrls", und alles wiird etwas besser funktionieren !

Nicodius 16. Okt 2004 11:28

Re: Dynamische Komponente wird nicht "ausgegeben"
 
nein ich weiß was ich mache glaub mir ;)


QStdCtrls ist für die labels ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.
Seite 1 von 2  1 2      

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-2025 by Thomas Breitkreuz