AGB  ·  Datenschutz  ·  Impressum  







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

Neue Kompo mit eigenem Typ

Ein Thema von Nalincah · begonnen am 24. Mai 2004 · letzter Beitrag vom 25. Mai 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#1

Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 12:48
Ich hab ne Komponente geschrieben, die 2 Eigene Typen besitzt. Diese Typen besitzen Variablen die ich unter Private und Eigenschaften die ich als Property unter published deklariert habe.Nachdem ich die Komponenten installiert habe hab ich unter der neuen Eigenschaft auch das "+" gesehen, nur als ich drauf geklickt habe, wurden keine Unterpunkte angezeigt (Wie bei "Font"). Im Quelltext kann ich aber auf die Untereigenschafte zugreifen. Woran liegt das?
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 12:54
Liefer bitte mal etwas Source. Sonst wird dir kaum einer helfen können.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#3

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 12:55
Sorry. Hier:

Delphi-Quellcode:
unit uMP_Strasse;

interface

uses
  SysUtils, Classes, Controls, ExtCtrls;

type
  TMieten = class(TPersistent)
  private
    FMiete:Integer;
    FMiete1Haus: Integer;
    FMiete2Haus: Integer;
    FMiete3Haus: Integer;
    FMiete4Haus: Integer;
    FMieteHotel: Integer;
  published
    property Miete: Integer read FMiete write FMiete;
    property Miete1Haus: Integer read FMiete1Haus write FMiete1Haus;
    property Miete2Haus: Integer read FMiete2Haus write FMiete2Haus;
    property Miete3Haus: Integer read FMiete3Haus write FMiete3Haus;
    property Miete4Haus: Integer read FMiete4Haus write FMiete4Haus;
    property MieteHotel: Integer read FMieteHotel write FMieteHotel;
  end;

  TStrassenWerte = class(TPersistent)
  private
    FStrassenName:String;
    FGrundstueckswert: Integer;
    FHauskosten: Integer;
    FHotelkosten: Integer;
    FMieten:TMieten;
  published
    property StrassenName: String read FStrassenName write FStrassenName;
    property Grundstueckswert: Integer read FGrundstueckswert write FGrundstueckswert;
    property Hauskosten: Integer read FHauskosten write FHauskosten;
    property Hotelkosten: Integer read FHotelkosten write FHotelkosten;
    property Mieten:TMieten read FMieten write FMieten;
  end;

  TMP_Strasse = class(TImage) private
    FStrassenWerte:TStrassenWerte;
  published
    property StrassenWerte: TStrassenWerte read FStrassenWerte write FStrassenWerte;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('Monopoloy', [TMP_Strasse]);
end;

end.
Soll ein Monopoly-Klon werden *g*
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#4

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 13:16
Habe mal in einer Kompo von mir nachgeguckt. Versuche das mal abzukupfern :
Delphi-Quellcode:

  TlblEdit = class(TEdit)
  private
    FAlignment: TAlignment;
...
    procedure SetAlignment(Value: TAlignment);
  published
...
    property Alignment: TAlignment read FAlignment write SetAlignment;

procedure TlblEdit.SetAlignment (Value: TAlignment);
begin
  FAlignment := Value;
  RecreateWnd;
end;
Allerdings frage ich mich, wo du das + her haben willst. Das kommt normalerweise nur durch SetSubComponent (true);
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#5

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 13:34
Genauso hab ich es doch. Und irgendwas mit SubComponents hab ich nirgends. Das ist der komplette Source
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 13:37
Zitat von General2004:
Genauso hab ich es doch...
Eben nicht !
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#7

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 13:45
Ok. Aber dein TAlignment hat keine Untereigenschaften
Sebastian
Ehemals bekannt als General2004
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 13:59
Hallo bo,
wenn Du innerhalb einer Komponente oder einem Nachfahren von TPersistent ein
Objekt nutzen möchtest, musst Du dieses auf mit Create erzeugen und mit Free
wieder freigeben. D.h. Du muss in Deinen Objekten TStrassenWerte und TMP_Strasse jeweils den constructor und destructor überschreiben.

In Deinem Source kann ich das nicht finden.
I come from outer space to save the human race
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#9

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 14:00
Doch : links/rechtsbündig und zentriert.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Nalincah
Nalincah

Registriert seit: 18. Jul 2003
898 Beiträge
 
Delphi 6 Professional
 
#10

Re: Neue Kompo mit eigenem Typ

  Alt 24. Mai 2004, 14:18
Mein neuer Code:

Delphi-Quellcode:
 TMP_Strasse = class(TImage) private
    FStrassenWerte:TStrassenWerte;
  public
    constructor Create(AOwner:TComponent);override;
    destructor Destroy;override;
  published
    property StrassenWerte: TStrassenWerte read FStrassenWerte write FStrassenWerte;
  end;
Delphi-Quellcode:
constructor TMP_Strasse.Create(AOwner:TComponent);
begin
  FStrassenWerte := TStrassenWerte.Create;
end;

destructor TMP_Strasse.Destroy;
begin
  FStrassenWerte.free;
end;
Da krieg ich beim öffnen des Projekts wo die Kompo schon drin ist:

Zitat:
Zugriffsverletztung bei Adresse 00000000. Lesen von Adresse 00000000. Fehler ignorieren und fortfahren...etc
Sebastian
Ehemals bekannt als General2004
  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 03:55 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