<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Form von einer bestehenden ableiten und implementieren]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>hab ein kleines Problem. Naja vielmehr ein großes <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>Ich setze die ExpressScheduler Komponenten von DevExpress ein.<br />
Dort versuche ich nun die EventEditor Form zu modifizieren und in mein Projekt zu integrieren. Das hinzufügen zum Projekt und die modifizierung der Form ist dabei kein Problem. Ich bekomm das einfach nicht hin, dass anschließend meine modifizierte Form aufgerufen wird, wenn versucht wird ein Neues Ereignis zu erfassen.</p>
<p>Es gibt zwar in der KnowledgeBase von DevExpress einen Eintrag, wie man dies bewerkstelligt aber damit komm ich nicht wirklich klar. Ist für Delphi und ich habe keine Ahnung wie ich das auf C++ portiere.</p>
<p>Wär super, wenn jemand einen Tipp für mich hätte.</p>
<p>Hier der Link zum Knowledgebase Eintrag. Vielleicht versteht das jemand von euch.</p>
<p><a href="https://www.devexpress.com/kb=A2352" rel="nofollow">https://www.devexpress.com/kb=A2352</a></p>
<p>Es geht mir einfach nur darum, wie bekomme ich denn folgenden Delphi Code nach C++</p>
<pre><code>[Delphi]

unit CustomizedEventEditorForm;
// ...
type
  TcxSchedulerEventEditorCustomized = class(TcxSchedulerEventEditor)
    gbClient: TcxGroupBox;
    lbFirstName: TcxLabel;
    teFirstName: TcxTextEdit;
    lbLastName: TcxLabel;
    teLastName: TcxTextEdit;
    lbGender: TcxLabel;
    cbGender: TcxComboBox;
  private
    { Private declarations }
  protected
    procedure LoadEventValuesIntoControls; override;
    procedure UpdateEventValuesFromControls; override;
  public
    { Public declarations }
  end;

var
  cxSchedulerEventEditorCustomized: TcxSchedulerEventEditorCustomized;

implementation

uses
  cxSchedulerDialogs;

{$R *.dfm}

procedure TcxSchedulerEventEditorCustomized.LoadEventValuesIntoControls;
begin
  // call the parent’s method to load the data into the inherited editing controls 
  // located on the form
  inherited LoadEventValuesIntoControls; 
  try
    // load the data into the custom editing controls
    // no checking for a null value is needed. 
    // The null value is automatically replaced with empty string in the editing controls
    teFirstName.EditValue := Event.GetCustomFieldValueByName('FName');
    teLastName.EditValue := Event.GetCustomFieldValueByName('LName');
    cbGender.EditValue := Event.GetCustomFieldValueByName('Gender');
  except
    on E: Exception do
      ShowMessage('Can''t load data' + #13#10 + E.Message);
  end;
end;

procedure TcxSchedulerEventEditorCustomized.UpdateEventValuesFromControls;
begin
  // call the parent’s method to post the data from the inherited editing controls
  // located on the form
  inherited UpdateEventValuesFromControls; 
  try
    // post the data from the custom editing controls
    Event.SetCustomFieldValueByName('FName', teFirstName.EditValue);
    Event.SetCustomFieldValueByName('LName', teLastName.EditValue);
    Event.SetCustomFieldValueByName('Gender', cbGender.EditValue);
    FModified := True;
  except
    on E: Exception do
      ShowMessage('Can''t post data' + #13#10 + E.Message);  
  end;
end;

initialization
  // to use the cxEventEditorClass constant include the cxSchedulerDialogs unit in the uses clause
  // indicate that the new Event modal dialog will be invoked at runtime
  cxEventEditorClass := TcxSchedulerEventEditorCustomized;
</code></pre>
<p>Danke schonmal vorab</p>
<p>mfg<br />
bopp2</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/158908/form-von-einer-bestehenden-ableiten-und-implementieren</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 22:04:11 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/158908.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Sep 2006 22:05:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sat, 09 Sep 2006 22:05:35 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>hab ein kleines Problem. Naja vielmehr ein großes <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
<p>Ich setze die ExpressScheduler Komponenten von DevExpress ein.<br />
Dort versuche ich nun die EventEditor Form zu modifizieren und in mein Projekt zu integrieren. Das hinzufügen zum Projekt und die modifizierung der Form ist dabei kein Problem. Ich bekomm das einfach nicht hin, dass anschließend meine modifizierte Form aufgerufen wird, wenn versucht wird ein Neues Ereignis zu erfassen.</p>
<p>Es gibt zwar in der KnowledgeBase von DevExpress einen Eintrag, wie man dies bewerkstelligt aber damit komm ich nicht wirklich klar. Ist für Delphi und ich habe keine Ahnung wie ich das auf C++ portiere.</p>
<p>Wär super, wenn jemand einen Tipp für mich hätte.</p>
<p>Hier der Link zum Knowledgebase Eintrag. Vielleicht versteht das jemand von euch.</p>
<p><a href="https://www.devexpress.com/kb=A2352" rel="nofollow">https://www.devexpress.com/kb=A2352</a></p>
<p>Es geht mir einfach nur darum, wie bekomme ich denn folgenden Delphi Code nach C++</p>
<pre><code>[Delphi]

unit CustomizedEventEditorForm;
// ...
type
  TcxSchedulerEventEditorCustomized = class(TcxSchedulerEventEditor)
    gbClient: TcxGroupBox;
    lbFirstName: TcxLabel;
    teFirstName: TcxTextEdit;
    lbLastName: TcxLabel;
    teLastName: TcxTextEdit;
    lbGender: TcxLabel;
    cbGender: TcxComboBox;
  private
    { Private declarations }
  protected
    procedure LoadEventValuesIntoControls; override;
    procedure UpdateEventValuesFromControls; override;
  public
    { Public declarations }
  end;

var
  cxSchedulerEventEditorCustomized: TcxSchedulerEventEditorCustomized;

implementation

uses
  cxSchedulerDialogs;

{$R *.dfm}

procedure TcxSchedulerEventEditorCustomized.LoadEventValuesIntoControls;
begin
  // call the parent’s method to load the data into the inherited editing controls 
  // located on the form
  inherited LoadEventValuesIntoControls; 
  try
    // load the data into the custom editing controls
    // no checking for a null value is needed. 
    // The null value is automatically replaced with empty string in the editing controls
    teFirstName.EditValue := Event.GetCustomFieldValueByName('FName');
    teLastName.EditValue := Event.GetCustomFieldValueByName('LName');
    cbGender.EditValue := Event.GetCustomFieldValueByName('Gender');
  except
    on E: Exception do
      ShowMessage('Can''t load data' + #13#10 + E.Message);
  end;
end;

procedure TcxSchedulerEventEditorCustomized.UpdateEventValuesFromControls;
begin
  // call the parent’s method to post the data from the inherited editing controls
  // located on the form
  inherited UpdateEventValuesFromControls; 
  try
    // post the data from the custom editing controls
    Event.SetCustomFieldValueByName('FName', teFirstName.EditValue);
    Event.SetCustomFieldValueByName('LName', teLastName.EditValue);
    Event.SetCustomFieldValueByName('Gender', cbGender.EditValue);
    FModified := True;
  except
    on E: Exception do
      ShowMessage('Can''t post data' + #13#10 + E.Message);  
  end;
end;

initialization
  // to use the cxEventEditorClass constant include the cxSchedulerDialogs unit in the uses clause
  // indicate that the new Event modal dialog will be invoked at runtime
  cxEventEditorClass := TcxSchedulerEventEditorCustomized;
</code></pre>
<p>Danke schonmal vorab</p>
<p>mfg<br />
bopp2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134434</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134434</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sat, 09 Sep 2006 22:05:35 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 07:55:56 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich versuch mal eine Konvertierung</p>
<pre><code class="language-cpp">// Header
class TcxSchedulerEventEditorCustomized : public TcxSchedulerEventEditor
{

  private :
    TcxGroupBox *gbClient;
    TcxLabel* lbFirstName;
    TcxTextEdit* teFirstName;
    TcxLabel* lbLastName;
    TcxTextEdit* teLastName;
    TcxLabel* lbGender;
    TcxComboBox* cbGender;
  protected :
    virtual void LoadEventValuesIntoControls();
    virtual void UpdateEventValuesFromControls;
  public :

};

// Unklar ob Stack oder Heap, Initialisierung muß in die Implementation
TcxSchedulerEventEditorCustomized cxSchedulerEventEditorCustomized;

// Implementation

#include &quot;cxSchedulerDialogs.h&quot;

void TcxSchedulerEventEditorCustomized::LoadEventValuesIntoControls()
{
  TcxSchedulerEventEditor::LoadEventValuesIntoControls();
  try
  {
    // Event hier unbekannt?!
    teFirstName-&gt;EditValue = Event.GetCustomFieldValueByName(&quot;FName&quot;);
    teLastName-&gt;EditValue = Event.GetCustomFieldValueByName(&quot;LName&quot;);
    cbGender-&gt;EditValue = Event.GetCustomFieldValueByName(&quot;Gender&quot;);
  }
  catch(Exception e)
  {
    ShowMessage(AnsiString(&quot;Can't load data\r\n&quot;) + e.Message());
  }
}

void TcxSchedulerEventEditorCustomized::UpdateEventValuesFromControls()
{
  TcxSchedulerEventEditor::UpdateEventValuesFromControls();
  try
  {
    // Event auch hier unbekannt?
    Event.SetCustomFieldValueByName(&quot;FName&quot;, teFirstName-&gt;EditValue);
    Event.SetCustomFieldValueByName(&quot;LName&quot;, teLastName-&gt;EditValue);
    Event.SetCustomFieldValueByName(&quot;Gender&quot;, cbGender-&gt;EditValue);
    FModified = true;
  }
  catch(Exception&amp; e)
  {
    ShowMessage(AnsiString(&quot;Can't post data\r\n&quot;) + e.Message());  
  }
}

// Sinn unklar, Variable heißt hier anders als in der Headerdatei?
cxEventEditorClass = TcxSchedulerEventEditorCustomized();
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134505</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Sep 2006 07:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 09:00:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>vielen Dank für deine Antwort. Werde es nachher ausprobieren und berichten, ob es funktioniert hat. Vielen Dank nochmal.</p>
<p>mfg<br />
bopp2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134524</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134524</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sun, 10 Sep 2006 09:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 17:45:48 GMT]]></title><description><![CDATA[<p>Hab das jetzt mal getestet, funktioniert aber nicht wirklich.<br />
Bekomme den Fehler, dass</p>
<pre><code>void TcxSchedulerEventEditorCustomized::LoadEventValuesIntoControls()
</code></pre>
<p>kein Element von TcxSchedulerEventEditorCustomized ist.</p>
<p>Vielleicht kennt noch jemand diese Komponente und hat dies schon erfolgreich umgesetzt. Bin für jeden Tipp dankbar.</p>
<p>Gruss<br />
bopp2</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134751</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sun, 10 Sep 2006 17:45:48 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 17:55:29 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>dann überprüf den Header, wo die Deklaration von <em>TcxSchedulerEventEditorCustomized</em> sein muß. Und zwar in so einer Form innerhalb des class-Scopes</p>
<pre><code class="language-cpp">virtual void LoadEventValuesIntoControls();
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134758</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134758</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Sep 2006 17:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 18:09:37 GMT]]></title><description><![CDATA[<p>Hab ich gemacht aber sobald das wie folgt deklariert wird,</p>
<pre><code>virtual void LoadEventValuesIntoControls();
</code></pre>
<p>gibt folgenden Fehler:</p>
<pre><code>[C++ Fehler] formEventForm.h(40): E2113 Virtuelle Funktion 'TcxSchedulerEventEditorCustomized::LoadEventValuesIntoControls()' verursacht Konflikte mit der Basisklasse 'TcxSchedulerEventEditorForm'
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1134764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134764</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sun, 10 Sep 2006 18:09:37 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 19:27:00 GMT]]></title><description><![CDATA[<p>So bin schon mal etwas weiter.</p>
<p>Wenn ich aber versuche die initialisierung vorzunehmen....</p>
<pre><code class="language-cpp">__fastcall TcxSchedulerEventEditorCustomized::TcxSchedulerEventEditorCustomized(TComponent* Owner)
        : TcxSchedulerEventEditorForm(Owner)
{
cxEventEditorClass = TcxSchedulerEventEditorCustomized;
}
</code></pre>
<p>Bekomme ich den Fehler:</p>
<pre><code>[C++ Fehler] formEventForm.cpp(36): E2108 Ungültige Verwendung von typedef 'TcxSchedulerEventEditorCustomized'
</code></pre>
<p>Hat diesbezüglich vielleicht noch jemand einen Tipp für mich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134784</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sun, 10 Sep 2006 19:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 19:41:31 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>wie und wo genau hast du denn <em>cxEventEditorClass</em> deklariert?</p>
<p>Desweiteren bist du dir hoffentlich im klaren, das du da semantischen Unsinn schreibst.<br />
In dem Konstruktor von <em>TcxSchedulerEventEditorCustomized</em> soll ein weitere Instanz von <em>TcxSchedulerEventEditorCustomized</em> erstellt werden, für die natürlich auch der Konstruktor aufgerufen wird...<br />
Das ist ein klarer Flaa von Stack-Overflow. Das steht garantiert nicht so im Delphi-Quellcode.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134796</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sun, 10 Sep 2006 19:41:31 GMT</pubDate></item><item><title><![CDATA[Reply to Form von einer bestehenden ableiten und implementieren on Sun, 10 Sep 2006 19:59:06 GMT]]></title><description><![CDATA[<p>Also ich versuche folgendes aus dem Delphi Code umzusetzen:</p>
<pre><code>initialization 
  // to use the cxEventEditorClass constant include the cxSchedulerDialogs unit in the uses clause 
  // indicate that the new Event modal dialog will be invoked at runtime 

  cxEventEditorClass := TcxSchedulerEventEditorCustomized;
</code></pre>
<p>Die <em>cxEventEditorClas</em> ist im cxSchedulerDialogs.hpp deklariert, welche inkludiert ist.</p>
<p>Zur meiner Verteidigung muss ich sagen, dass ich bisher nicht wirklich was mit Klassen etc. gemacht habe. Steh da noch am Anfang. Mir wär für den Anfang schon geholfen, wenn ich wüsste wie ich das ganze initialisiere.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1134806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1134806</guid><dc:creator><![CDATA[bopp2]]></dc:creator><pubDate>Sun, 10 Sep 2006 19:59:06 GMT</pubDate></item></channel></rss>