AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls bei eigener Komponente die Versionsnummer in der IDE?
Thema durchsuchen
Ansicht
Themen-Optionen

bei eigener Komponente die Versionsnummer in der IDE?

Offene Frage von "Uwe Raabe"
Ein Thema von mcinternet · begonnen am 27. Mär 2019 · letzter Beitrag vom 27. Mär 2019
Antwort Antwort
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#1

bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 15:55
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
Miniaturansicht angehängter Grafiken
dllquery.jpg  
Jörg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#2

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 15:59
Es wäre vielleicht hilfreich zu sehen wie du das aktuell machst...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:04
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
Jörg

Geändert von mcinternet (27. Mär 2019 um 16:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#4

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:24
constructor create(AOwner : TComponent);
Destructor destroy;
Vielleicht hilft es, wenn man hinter den Constructor und Destructor ein override schreibt?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:28
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
Jörg
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
668 Beiträge
 
Delphi 12 Athens
 
#6

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:31
Vielen Dank,
nur muss ich jetzt noch den blöden Hinweis 'Schreibweise der Methode....bla' wegbekommen.
Einfach Create und Destroy groß schreiben
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#7

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:34
Zitat:
Einfach Create und Destroy groß schreiben
Au man - wie blöd ist das denn?

Vielen Dank

schönen Gruß

mcinternet
Jörg
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:34
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
  Mit Zitat antworten Zitat
mcinternet

Registriert seit: 22. Apr 2010
Ort: Odenwald
193 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:36
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
Jörg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.009 Beiträge
 
Delphi 12 Athens
 
#10

AW: bei eigener Komponente die Versionsnummer in der IDE?

  Alt 27. Mär 2019, 16:46
Delphi ist zwar Case insensitive, aber bei der Programmierung generell gehört es sich einfach, Groß- und Kleinschreibung zu beachten
In diesem Fall ist der Hinweis lediglich für die Eignung der Komponente in einem C++ Builder Projekt relevant.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:34 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