AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Delphi-Versionsnummer per IOTA-Service abfragen?
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Versionsnummer per IOTA-Service abfragen?

Ein Thema von r29d43 · begonnen am 18. Mär 2021 · letzter Beitrag vom 19. Mär 2021
Antwort Antwort
Seite 1 von 2  1 2      
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#1

Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 17:09
Hallo, gibt es eigentlich einen IOTA-Service über den ich die Delphi-Versionsnummer (also z.B. 10.4.1 oder 10.4.2 abfragen kann?

Irgend so ein IOTANotification-Servie o.ä.?

Thx im Voraus.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 17:35
Kenne nur System.CompilerVersion und System.RTLVersion und dann mit Hilfe der Tabelle Compiler-Versionen übersetzen.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 18:11
Eine derartige ToolsAPI dürfte kaum nötig sein, wenn Du eh schon als IDE-Erweiterung aktiv bist, musst Du nur die Versionsnummer Deines Prozesses (bds.exe) abfragen. Dafür reicht dann die Windows-API.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 19:45
CompilerVersion selbst reicht nicht immer.
Alle Delphi 10.4.x haben meistens die selbe Compilerversion. (ich glaub nur einmal hatte ein Update eine andere Nummer)

Alle Versionen, die ich kenn:
https://www.delphipraxis.net/205509-...ml#post1473778
Die "const" und die Dateiversion kann auslesen (also über's Prozesshandle).


Aber ja, entweder in der Registry schauen, oder auf der BDS.exe auslesen.

Ich weiß nur grade nicht, ob die OTA den Registry-Pfad nennt, damit man dort im richtigen Pfad lesen kann.
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\CatalogRepository\InstallVars : _INSTALL_SM_RADSTUDIOFOLDER
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\InstalledUpdates : Main Product Update
HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\21.0\Personalities : *
[add] IOTAServices.GetBaseRegistryKey
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (18. Mär 2021 um 20:00 Uhr)
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 20:18
Ich habe das innerhalb des Package gerade mal per GetProcessVersion(0) versucht und bekomme hier bei einem Delphi10.4.2 als DWord-Ergebnis immer die $50000 zurück.

Und was ja wohl irgendwie nicht so ganz richtig sein kann, oder? Wenn Hi-Word = major version number und Lo-Word = minor version number.


Dann in der Registry habe ich unter Computer\HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BD S\21.0\InstalledUpdates aber dieses als Eintrag gefunden: Delphi 10.4 and C++Builder 10.4 Update 2

Und das reicht, ist leicht zu finden und gut weiter zu verarbeiten. Thx.

edit: den Pfad habe ich per regedit und dessen Suchfunktion gefunden.

Zitat:
[add] IOTAServices.GetBaseRegistryKey
und damit wirds natürlich noch etwas einfacher und sicherer

Geändert von r29d43 (18. Mär 2021 um 20:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 21:01
Les mal was GetProcessVersion() macht

Wenn es unbedingt über ToolsAPI sein soll (Delphi.Narium hats ja schon aufn Punkt gebracht) kannst Du in Deinen Projekt-Configs ein Feld mit einer Nummer bestimmen und per IOTAProjectOptions / IOTAProject zurücklesen. Das ist dann aber Hard-Kodiert, also blödsinn.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.017 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 22:01
Warum willst du das machen? Ja vermutlich, um gewisse Änderungen zwischen den Versionen abzuhandeln oder? Je nachdem warum, könnte es andere Wege geben.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
r29d43

Registriert seit: 18. Jan 2007
289 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 23:09
Das soll insgesamt ein kleines IOTA-Projekt werden, welches u.a. einen mit '//' beginnenden Kommentar, der hinter dem Zeilenende verschwindet, nochmal automatisch in einem kleinen extra Window anzeigen soll, wenn die Maus länger als eine halbe Sekunde darübersteht. Da ich hierzu aber wissen muss, wo auf den Pixel genau dieser Kommentar beginnt und sich diese beiden Versionen 10.4.1 u. 10.4.2 im Bau des textanzeigenden Windows minimal voneinander unterscheiden, braucht das Package die Info, in welcher der Versionen es gerade läuft.

Und das klappt jetzt über die Registry auch schon einfach und gut genug.

Geändert von r29d43 (18. Mär 2021 um 23:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#9

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 18. Mär 2021, 23:24
Dann ist das vorgehen falsch.

Nicht auf versionen prüfen, sondern das auslesen, was man eigentlich wissen will.

Beispiel:
statt auf Delphi 2009 zu prüfen, um zu wissen ob Unicode, kann man auch das Feature prüfen oder nachmessen.

Delphi-Quellcode:
{$IFDEF VER200}
{$IF CompilerVersion >= 20.0}

{$IFDEF UNICODE}
{$IF SizeOf(Char) = 2}
Genauso gibt es bestimmt irgendeinen Weg, um die gewünschte Breite direkt von der Komponente auszulesen.
Oder willst du das für jede IDE-Version wirklich einzeln manuell bestimmen?
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Delphi-Versionsnummer per IOTA-Service abfragen?

  Alt 19. Mär 2021, 01:09
@r29d43

Ich bin nicht sicher, aber vielleicht kann Dir INTAEditViewNotifier weiter helfen.
Zumindest könntest Du mal schauen, ob da in der Richtung etwas für Dich passt. Evtl. kommst Du so noch genauer an den Editor heran.

Delphi-Quellcode:
  TViewPaintNotifier = class(TInterfacedObject, IOTANotifier, INTAEditViewNotifier)
  private
  public
    constructor Create;
    destructor Destroy; override;
  public
    // INTAEditViewNotifier
    procedure BeginPaint(const View: IOTAEditView; var FullRepaint: Boolean);
    procedure EditorIdle(const View: IOTAEditView);
    procedure EndPaint(const View: IOTAEditView);
    procedure PaintLine(const View: IOTAEditView; LineNumber: Integer; const LineText: PAnsiChar; const TextWidth: Word;
      const LineAttributes: TOTAAttributeArray; const Canvas: TCanvas; const TextRect: TRect; const LineRect: TRect;
      const CellSize: TSize);
    // IOTANotifier
    procedure AfterSave;
    procedure BeforeSave;
    procedure Destroyed;
    procedure Modified;
  end;
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:29 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