Autor Beitrag
winx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Do 31.08.06 08:45 
Guten Morgen,

wie kann ich das folgende Objekt:

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
unit VariaJob;

interface

uses
  System.Collections;

type
  TVariaJob = class
  private
    m_VariaObjects : ArrayList;
    m_CurrentSerial : string;
    m_MultiUse : boolean;
    m_JobQuantity : integer;
    m_MultiPartsCount : integer;
    m_MultiPartsQuantity : integer;

  public
    //Eine Liste die alle im Job vorhandenen Variablen Objekte enthält
    property VariaObjects : ArrayList read m_VariaObjects;
    //Die letzte vergebene Seriennummer
    property CurrentSerial : string read m_CurrentSerial write m_CurrentSerial;
    //Gibt an, ob der Nutzer Mehrfachnutzen wünscht
    property MultiUse : boolean read m_MultiUse write m_MultiUse;
    //Gibt an, wie oft der Job gelasert werden soll
    property JobQuantity : integer read m_JobQuantity write m_JobQuantity;
    //alle im job vorhandenen multiparts
    property MultiPartsCount : integer read m_MultiPartsCount write m_MultiPartsCount;
    //die anzahl der vom Benutzer gewünschten Multiparts
    property MultiPartsQuantity : integer read m_MultiPartsQuantity write m_MultiPartsQuantity;

    constructor Create;
  end;

implementation

constructor TVariaJob.Create;
begin
  inherited Create;
  m_VariaObjects := ArrayList.Create();
end;

end.


in einem PropertyGrif anzeigen lassen. Hab das ganze wie in einem C# Tutorial gemacht mit:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
//Funktioniert:
vJob := TVariaJob.create();
m_MainForm.PropertiesGrid.SelectedObject := vJob.VariaObjects;

//Funktioniert aber nicht:
vJob := TVariaJob.create();
m_MainForm.PropertiesGrid.SelectedObject := vJob;


Warum funktioniert das erste, das zweite aber nicht???

Wie kann ich in Delphi [CategoryAttribute] hinzufügen???

Danke,
winx


Moderiert von user profile iconChristian S.: Topic aus .NET verschoben am Do 31.08.2006 um 11:51
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Do 31.08.06 09:51 
Hab was gefunden, die Properties müssen "published" sein damits funzt...
Ne andere Frage: Wie kann ich Attribute zu den Objekten hinzufügen:

ausblenden Delphi-Quelltext
1:
2:
[CategoryAttribute('Meine Kategorie')]
property Prop...


Danke

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 31.08.06 11:43 
Ich verstehe die Frage nicht ganz, Du hast doch jetzt schon das Attribut für die Kategorie zugewiesen. Allerdings nicht dem Objekt, sondern der Property innerhalb der Klasse.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Do 31.08.06 11:47 
Hi christian,

hab das Problem schon gelöst. Wollte es der Property zuweisen. Hat jetzt geklappt.
Weisst du, ob es möglich ist, nur bestimmte Kombinationen zuzuweisen.

Bsp:

ausblenden Delphi-Quelltext
1:
2:
property Bezeichner : string ...
property Wert : string...

Ich möchte jetzt links den bezeichner (den string wert des bezeichners) und rechts den Wert stehen haben, den der Benutzer
zuweisen kann...

ist sowas auch möglich oder geht es nur "objektbezogen" ???

danke

Moderiert von user profile iconChristian S.: Delphi-Tags hinzugefügt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 31.08.06 11:50 
Ich verstehe nicht, was Du meinst.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Do 31.08.06 12:45 
ich versuchs an einem Beispiel zu erklären.

Also ein objekt Haus hat zwei Properties,

property Name = "Hans"
property Inhalt = "4711"

Nun soll im PropertyGrid nich wie eigentlich zwei Properties

Name|Hans
Inhalt|4711

sondern nur noch

Hans|gelb

erscheinen, nur den Inhalt (also gelb) kann man editieren.

Weisst du was ich meine???
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 31.08.06 12:54 
Ein PropertyGrid zeigt Properties an, nix Anderes ;) . Und eine Property hat einen festen Namen.
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Do 31.08.06 13:56 
Alles klar. verstanden.
welche komponente könnte ich denn dann am besten verwenden, um mein problem zu lösen ???
Robert_G
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416


Delphi32 (D2005 PE); Chrome/C# (VS2003 E/A, VS2005)
BeitragVerfasst: So 03.09.06 17:39 
user profile iconKhabarakh hat folgendes geschrieben:
Ein PropertyGrid zeigt Properties an, nix Anderes ;) . Und eine Property hat einen festen Namen.
Das sollte theorethisch mit einem PropertyGrid möglich sein.
Man kann die Art wie es eine bestimmte Eigenschaft oder einen bestimmten Typen darstellt frei selbst gestalten.
Was WinX da vorhat ist bestimmt nicht so schwierig wie es erscheint. Bei bestimmten Usern vergeht mir aber ziemlich schnell die Lust auch nur eine Zeile zuviel zu tippen.
Vor allem bei denen, die wiederholt wild cross postings machen ohne die Threads gegenseitig zu verlinken. Das zeugt von Ignoranz oder Egoismus, keins von beidem lässt mich vor Hilfbereitschaft überschäumen. ;)
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 04.09.06 09:07 
Hi,

ich hab nur crosspost gemacht, da es ziemlich dringend ist...Aber wenn ihr möchtet,
kann ich diese das nächste mal verlinken.

Hab gedacht, sowas is nich erwünscht.

Könntest du mir bitte trotzdem helfen?

Danke!!!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mo 04.09.06 12:20 
user profile iconRobert_G hat folgendes geschrieben:
user profile iconKhabarakh hat folgendes geschrieben:
Ein PropertyGrid zeigt Properties an, nix Anderes ;) . Und eine Property hat einen festen Namen.
Das sollte theorethisch mit einem PropertyGrid möglich sein.
Man kann die Art wie es eine bestimmte Eigenschaft oder einen bestimmten Typen darstellt frei selbst gestalten.
Ui, is ja hübsch :D *soforteinspeicher* . Wenn man ein wenig darüber nachdenkt, muss ja auf irgendeinem Weg das Events-Tab in die IDE kommen :angel: .

@winx: PropertyTab heißt das Stichwort. Das Einfachste wäre es wohl, in einer Ableitung den gewünschten Properties ein neues DisplayNameAttribute zu verpassen.

user profile iconwinx hat folgendes geschrieben:
Hab gedacht, sowas is nich erwünscht.
Jupp, Cross-Postings, die zu parallelen, inhaltsgleichen Diskussionen führen, sind nicht wirklich erwünscht ;) .
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 04.09.06 12:35 
danke, werd ich mal testen...
ja aber ein crossposting über mehrere Foren auch? Hab nur gedacht innerhalb des c#forums ?
winx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 249



BeitragVerfasst: Mo 04.09.06 14:36 
Hi,

könntet ihr mir nochmals helfen ?

Weiss zwar nich, ob das überhaup geht, da ich ne Liste von "haus-Objekten" hab, jedes dieser Objekte
sollte einen eigenen Spalte im PropertyGrid belegen...

aber:
Muß ich mich nun von dem Grid ableiten und die Eigenschaft überschreiben, oder muß ich meine eigene "Property" überschreiben?
Könnte ihr mir bitte ein Beipiel posten?

Danke!!!
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 05.09.06 11:56 
Hm? Unter meinem Stichwort findest du doch ein einwandfreies Beispiel, wie man es eben vom SDK gewohnt ist.

user profile iconwinx hat folgendes geschrieben:
Weiss zwar nich, ob das überhaup geht, da ich ne Liste von "haus-Objekten" hab, jedes dieser Objekte sollte einen eigenen Spalte im PropertyGrid belegen...
Du hast also eine Klasse, die eine Liste beinhaltet, und willst nun jeweils zwei Properties jedes Elementes gegenüberstellen? Jab, sollte problemlos möglich sein.