Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism Arbeiten mit dem PropertyGrid in Delphi.Net?? (https://www.delphipraxis.net/76187-arbeiten-mit-dem-propertygrid-delphi-net.html)

winx 31. Aug 2006 07:41


Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Guten Morgen,

wie kann ich das folgende Objekt:

Delphi-Quellcode:
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:

Delphi-Quellcode:
//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

winx 31. Aug 2006 08:46

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Hab was gefunden, die Properties müssen "published" sein damits funzt...
Ne andere Frage: Wie kann ich Attribute zu den Objekten hinzufügen:

[CategoryAttribute('Meine Kategorie')]
property Prop...

Danke

Elvis 31. Aug 2006 09:59

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Zitat:

Zitat von winx
Hab was gefunden, die Properties müssen "published" sein damits funzt...
Ne andere Frage: Wie kann ich Attribute zu den Objekten hinzufügen:

[CategoryAttribute('Meine Kategorie')]
property Prop...

Danke

Objekten kannst du gar keine Attribute verpassen.
Aber du benutzt den Begriff anscheinend sowieso ständig falsch, oben für eine Klasse und hier für eine Eigenschaft...

btw: Genau so wie du es beschrieben hast, sollte es (eigentlich) gehen.

btw2: "published" gibt es eigentlich in .Net nicht.
Einfach die Eigenschaft mit Browsable(true) markieren und gut ist. (Anscheinend emitiert D.Net hier standardmäßig Browsable(false), warum auch immer...)

winx 31. Aug 2006 10:02

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
obwohl ichs echt falsch verwendet habe :-) kann man es in .net auch Objekten zuweisen...
könntest du mit en Bsp posten? danke...

Elvis 31. Aug 2006 10:07

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Zitat:

Zitat von winx
obwohl ichs echt falsch verwendet habe :-) kann man es in .net auch Objekten zuweisen...
könntest du mit en Bsp posten? danke...

Wie zum Geier willst du ein compile time feature wie Attribute einem Objekt zuweisen? Und vor allem: Was würdest du damit anstellen wollen, selbst wenn es möglich wäre?
Du kannst sie an einen Typen oder einem seiner Member zuweisen, aber doch keinem Objekt!
Und wie gesagt, dein...
Delphi-Quellcode:
[Category('BlaBla')]
property BlaBla : SomeType...
... sollte absolut problemlos funktionieren.

winx 31. Aug 2006 10:23

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Man kann einem Objekt damit Default Attribute zuweisen!!! Kannste ja dem Geier erzählen! :wall:

OregonGhost 31. Aug 2006 11:02

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Nein, kann man nicht, man kann wie Elvis sagte einem Member ein Attribut wie Default zuweisen, nicht jedoch einem Objekt. Wenn du dasselbe Objekt über eine andere Referenz referenzierst, wird das Attribut nicht vorhanden sein, weil es auf der Reflektion des enthaltenden Objekts (bzw. der Klasse, genauer) basiert.

winx 31. Aug 2006 11:37

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
und was bedeutet dann das hier:

Link

OregonGhost 31. Aug 2006 11:38

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Zitat:

Wenn Sie die Anzeige einiger Eigenschaften ändern möchten, können Sie diesen unterschiedliche Attribute zuweisen.
Genau das, was Elvis und ich sagten. Eine Eigenschaft ist kein Objekt.

Elvis 31. Aug 2006 11:47

Re: Arbeiten mit dem PropertyGrid in Delphi.Net??
 
Zitat:

Zitat von winx
und was bedeutet dann das hier:
Link

Ich hatte mir mal vor einiger Zeit vorgenommen nicht mehr in deinen Threads zu antworten. Dummerweise habe ich heute geantwortet ohne zu schauen wer die Frage stellte. :wall:
Nachdem nun schon ein zweiter versucht hat dir den Unterschied von einem Objekt zu einem Typen bzw. einem Member eines Typen zu erklären, hätte man eigentlich erwarten können, dass du den von dir verlinkten Artikel als Bestätigung unserer verzweifelten Versuche akzeptierst.
Nunja, ich klinke mich jetzt hier einfach aus dem Thread raus, keine Ahnung ob OregonGhost Lust verspürt sich noch 5-mal zu wiederholen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:29 Uhr.
Seite 1 von 2  1 2      

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