AGB  ·  Datenschutz  ·  Impressum  







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

"Verlinkung" von Komponenten ...?

Ein Thema von Nothine · begonnen am 27. Aug 2004 · letzter Beitrag vom 27. Aug 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#1

"Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 17:06
tag auch, ich habe ein problem (mal wieder )

ich habe eine eigene klasse erstellt, und habe eine published-property vom typ TEdit. nun möchte ich nach zuweisung einer TEdit-komponente auf eigenschaften und methoden des original-editfeldes zugreifen, ebenhalt durch die property. doch entweder passiert bei zuweisung gar nichts oder es erscheinen AV's jeder nur denkbaren ausführung. wie kann ich das zum laufen bringen?

Delphi-Quellcode:
private
  FEdit: TEdit;
published
  property Edit: TEdit read FEdit write FEdit stored False;
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 17:38
Hallo,

lass doch mal das stored false hinten weg.
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 17:56
hab ich gemacht, aber ich bekomm immer die fehlermeldung "Eigenschaft kann nur gelesen werden" wenn ich das projekt starten will
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
paelesoft

Registriert seit: 3. Jul 2004
37 Beiträge
 
Delphi 7 Professional
 
#4

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:03
Hallo Nothine,

das stored kann IMHO weg.

Hast du im im constructor Create deiner neuen Klasse folgendes geschrieben:

Delphi-Quellcode:
constructor TMyClass.Create;
begin
  inherited;
  FEdit:=TEdit.Create(Self);
end;
Sonst ist die FEdit-VMT (uvm) nicht initialisiert und kein Speicher zugewiesen.
Gruß Erik
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#5

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:05
hm ne hab ich nich, weil es ja eigentlich nur eine referenzierung eines eh schon vorhandenen objektes sein soll... naja ich probiers, danke schoma
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:09
das bringt es auch nicht, ich erhalte nur ständig EReadError meldungen... Nur nochmal zur erklärung, ich will kein klasseninternes Editfeld erzeugen, sondern von außen ein bereits vorhandenes editfeld zuweisen, auf das man dann durch die property der klasse zugriff hat
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:12
Hmmm, also ich habe das mal mit 2 eignenen Kompos so gemacht, nur auch ohne das "stored". Auch das Zuweisenn einer Instanz im Designer via DropDown im OI klappte ohne weitere Probleme.
Du solltest nur darauf achten, dass du in deiner Kompo vor jedem Zugriff auf FEdit auf Assigned prüfst.

gruss,
dizzy

\\edit: So:
Delphi-Quellcode:
type
  TPalettier = class(TComponent)
  private
    FEditor : TPalettierEditor;
    FViewer : TPalettierViewer;
    FEvaluator: TPalettierEvaluator;
  protected
  public
  published
    property Editor : TPalettierEditor read FEditor write FEditor;
    property Viewer : TPalettierViewer read FViewer write FViewer;
    property Evaluator: TPalettierEvaluator read FEvaluator write FEvaluator;
  end;
Das war eine reine Container-Kompo die den Zusammenhang zwischen den anderen dreien herstellen sollte. Ist aber nie ganz fertig geworden...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:13
Delphi-Quellcode:
private
  FEdit: TEdit;
published
  property Edit: TEdit read FEdit write FEdit;
ist richtig. Bei welcher Aktion kommt ein Fehler?

du solltest deiner Klasse wenn nicht schon vorhanden auch unbedingt noch
Delphi-Quellcode:
  protected
    procedure Notification(AComponent: TComponent; Operation: TOperation); override;
hinzufügen wenn die Componente in der Delphi-IDE benutzt werden soll.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#9

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:15
das zuweisen im OI is auch nich das problem, die assigned prüfung hab ich auch drin, es entsteht halt nur direkt beim starten des projektes ein EReadError mit der meldung "Eigenschaft kann nur gelesen werden"... ich hab das stored auch rausgenommen, einfach nur read FEdit write FEdit für die privatevariable FEdit, aber es will einfach nich funzen

//Edit: @SirThornberry: das is ja mein problem, ich greife noch gar nicht auf die eigenschaft zu da kommt die fehlermeldung schon, komponente auf formular drauf, F9 gedrückt, hallo EReadError...
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
paelesoft

Registriert seit: 3. Jul 2004
37 Beiträge
 
Delphi 7 Professional
 
#10

Re: "Verlinkung" von Komponenten ...?

  Alt 27. Aug 2004, 18:16
Habe meine Klasse nochmal durchgetestet (Referenz) und es sollte auch ohne
TEdit.Create laufen.

Der Fehler ist IMHO woanders zu suchen.
Gruß Erik
  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 21:04 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