Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   bei eigener Komponente die Versionsnummer in der IDE? (https://www.delphipraxis.net/200193-bei-eigener-komponente-die-versionsnummer-der-ide.html)

mcinternet 27. Mär 2019 15:55

bei eigener Komponente die Versionsnummer in der IDE?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich habe schon das Forum und Goggel bemüht, eine Lösung für mein Problem(chen) zu finden.

ich habe mir ne kleine Komponentenbase zusammengeschustert, wo ich eine Property "About" mit eingebaut habe. Nur weiß ich nicht, wie ich das bewerkstelligen soll, dass mir im Objektinspektor die Versionsnummer dann auch angezeigt wird. Diese ist immer leer.

da gibts doch bestimmt einen kleinen, aber wirkungsvollen Trick?

Es sind Komponenten, welche aus TMyQuery, TMyDataSource und TMyConnection (aus MyDAC) abgeleitet sind.

Gruss

mcinternet

Uwe Raabe 27. Mär 2019 15:59

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Es wäre vielleicht hilfreich zu sehen wie du das aktuell machst...

mcinternet 27. Mär 2019 16:04

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Hier mal ein paar Sourcen,



Zuerst das dpk:
Code:
package owncomponents;

{$R *.res}
{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users}
{$ALIGN 8}
{$ASSERTIONS ON}
{$BOOLEVAL OFF}
{$DEBUGINFO OFF}
{$EXTENDEDSYNTAX ON}
{$IMPORTEDDATA ON}
{$IOCHECKS ON}
{$LOCALSYMBOLS ON}
{$LONGSTRINGS ON}
{$OPENSTRINGS ON}
{$OPTIMIZATION OFF}
{$OVERFLOWCHECKS OFF}
{$RANGECHECKS OFF}
{$REFERENCEINFO ON}
{$SAFEDIVIDE OFF}
{$STACKFRAMES ON}
{$TYPEDADDRESS OFF}
{$VARSTRINGCHECKS ON}
{$WRITEABLECONST OFF}
{$MINENUMSIZE 1}
{$IMAGEBASE $400000}
{$DEFINE DEBUG}
{$ENDIF IMPLICITBUILDING}
{$IMPLICITBUILD ON}

requires
  rtl,
  dbrtl,
  dac260,
  mydac260,
  vcl;

contains
  dllquery in 'dllquery.pas',
  dllConnect in 'dllConnect.pas',
  dllDatasource in 'dllDatasource.pas',
  Eigene in 'Eigene.pas',
  AboutOwn in 'AboutOwn.pas';

end.

Dann die Registerunit

Code:
unit Eigene;

interface

  uses dllConnect, dllDataSource, dllQuery;


procedure Register;

implementation

uses System.Classes;



procedure Register;
begin
  RegisterComponents('Own Components', [TdllConnection]);
  RegisterComponents('Own Components', [TdllQuery]);
  RegisterComponents('Own Components', [TdllDataSource]);
end;



end.
Hier eine Komponente:

Code:
unit dllquery;

interface

uses
  System.SysUtils, System.Classes, Data.DB, MemDS, DBAccess, MyAccess, AboutOwn;

type
  TdllQuery = class(TMyQuery)
  private
    { Private-Deklarationen }
    fActiveOnStart : Boolean;
    fAbout: String;
    procedure init;
  protected
    { Protected-Deklarationen }
  public
    { Public-Deklarationen }
    constructor create(AOwner : TComponent);
    Destructor destroy;
  published
    { Published-Deklarationen }
    property About: String read FAbout write FAbout stored False;
    property ActiveOnStart : Boolean read fActiveOnStart write fActiveOnStart;
  end;

implementation

{ TdllQuery }

procedure TdllQuery.init;
begin
   FAbout := 'Version 1.0';

end;

constructor TdllQuery.create(AOwner : TComponent);
begin
  //
  inherited create(AOwner);

  if fActiveOnStart then active := true
    else active := false;

  init;
end;

Destructor TdllQuery.destroy;
begin
  inherited destroy;
end;


end.
Gruss

mcinternet

Uwe Raabe 27. Mär 2019 16:24

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Zitat:

Zitat von mcinternet (Beitrag 1428915)
constructor create(AOwner : TComponent);
Destructor destroy;

Vielleicht hilft es, wenn man hinter den Constructor und Destructor ein
Delphi-Quellcode:
override
schreibt?

mcinternet 27. Mär 2019 16:28

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Vielen Dank,

das wars (au man *hauvorkopp*) - manchmal sieht man den Wald vor lauter Bäumen nicht.

nur muss ich jetzt noch den blöden Hinweis 'Schreibweise der Methode....bla' wegbekommen.

beste Grüße

mcinternet

bcvs 27. Mär 2019 16:31

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Zitat:

Zitat von mcinternet (Beitrag 1428920)
Vielen Dank,
nur muss ich jetzt noch den blöden Hinweis 'Schreibweise der Methode....bla' wegbekommen.

Einfach Create und Destroy groß schreiben

mcinternet 27. Mär 2019 16:34

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Zitat:

Einfach Create und Destroy groß schreiben
Au man - wie blöd ist das denn?

Vielen Dank :thumb::thumb:

schönen Gruß

mcinternet

DieDolly 27. Mär 2019 16:34

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Zitat:

das wars (au man *hauvorkopp*) - manchmal sieht man den Wald vor lauter Bäumen nicht.
In der Webentwicklung würde man einen Fall gar nicht erst bekommen wenn man sich Logs ausgeben lässt oder wie auch immer den Entwickler davon in Kenntnis setzt, dass Create aufgerufen wird.

Hier in Delphi hätte ich einfach ein showmessage reingepackt. Dann weiß man ganz sicher, ob Create aufgerufen wird oder nicht. Aber ob das bei Komponenten funktioniert, weiß ich nicht.

Zitat:

Au man - wie blöd ist das denn?
Delphi ist zwar Case insensitive, aber bei der Programmierung generell gehört es sich einfach, Groß- und Kleinschreibung zu beachten :thumb:

mcinternet 27. Mär 2019 16:36

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Ich achte schon darauf, dass Create aufgerufen wird. Das wird es ja auch beim Programmstart.

Nur in der Komponente ist das ne andere Nummer.

Gruss

mcinternet

Uwe Raabe 27. Mär 2019 16:46

AW: bei eigener Komponente die Versionsnummer in der IDE?
 
Zitat:

Zitat von DieDolly (Beitrag 1428923)
Delphi ist zwar Case insensitive, aber bei der Programmierung generell gehört es sich einfach, Groß- und Kleinschreibung zu beachten :thumb:

In diesem Fall ist der Hinweis lediglich für die Eignung der Komponente in einem C++ Builder Projekt relevant.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 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