[erledigt] VersionInfo

Zur Vorstellung von Komponenten und Units für Lazarus
Antworten
MacWomble
Lazarusforum e. V.
Beiträge: 978
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

[erledigt] VersionInfo

Beitrag von MacWomble »

Hallo,

vielleicht kann mit jemand einen Tipp geben. Ich setze zum Anzeigen der Versioninfos eine Unit ein, welche ich mal irgendwo herunter geladen habe.
(komplette Unit siehe Dateianhang).
Bisher hat das auch problemlos funktioniert. Seit gestern jedoch habe ich das Problem, dass bei

Code: Alles auswählen

function TVersionInfo.GetWidgetSet: string;
begin
  case InterfaceBase.WidgetSet.LCLPlatform of
   lpGtk:    result := WIDGETSET_GTK;
   lpGtk2:   result := WIDGETSET_GTK2;
   lpWin32:  result := WIDGETSET_WIN;
   lpWinCE:  result := WIDGETSET_WINCE;
   lpCarbon: result := WIDGETSET_CARBON;
   lpQT:     result := WIDGETSET_QT;
   lpfpGUI:  result := WIDGETSET_fpGUI;
  else
    result := WIDGETSET_OTHER;
  end;
end;     


die lpGtk etc nicht gefunden werden (Identifier not found)

Was mich verwirrt ist, dass am Programmcode absolut nichts verändert wurde seit ich das letzte mal kompilierte.
Kann es möglicherweise an Kompilereinstellungen liegen?

PS: Zufällig gefunden. Die Quelle war glaube ich viewtopic.php?t=3893

Gruß
Klaus
Dateianhänge
versionsupport.pas
Hier die betroffene Unit
(6.2 KiB) 95-mal heruntergeladen
Zuletzt geändert von MacWomble am So 26. Feb 2017, 23:16, insgesamt 1-mal geändert.
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Socke
Lazarusforum e. V.
Beiträge: 2858
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: VersionInfo

Beitrag von Socke »

Füge die Unit lclplatformdef zur Uses-Klausel (im Implementation-Teil) hinzu.
Der Aufzählungstyp TLCLPlatform wurde am 17.12.2016 in diese Unit verschoben.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

MacWomble
Lazarusforum e. V.
Beiträge: 978
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

Re: VersionInfo

Beitrag von MacWomble »

Danke Socke!

Jetzt findet er die Definition von GetLocaleFormatSettings nicht ...

Was mich wundert, ist dass bisher alles lief. Könnte es sein, dass die kompilierte VersionSupport vorlag und deswegen der Fehler nicht eher aufgetreten ist?

Was ich geändert habe, war die Kompiler-Optionen von Stufe 0 auf Stufe 1 ...
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Soner
Beiträge: 417
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: VersionInfo

Beitrag von Soner »

Öffne Lazarus gehe zu Menü:
[Suchen > In Dateiein suchen ..]
Schreibe in das Feld: [Suchtext]
GetLocaleFormatSettings

Klicke bei:[Wo]
Suche in Verzeichnissen

In das Feld [Verzeichnisse]:
..Lazarus\fpc\3.0.0\source\rtl\

[Unterverzeichnissen einbeziehen] Markieren
und [Suchen] - Klicken klicken.
Schon hast du dein Antwort.

Man kann auch LCL, FCL-Verzeichniss suchen.
Es ist sehr gute Funktion ich verwende es für viele Zwecke.

MacWomble
Lazarusforum e. V.
Beiträge: 978
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

Re: VersionInfo

Beitrag von MacWomble »

Danke, das habe ich bereits gemacht.

SysUtils wurde gefunden und war und ist auch in den uses.

Dennoch bekomme ich den Fehler:

versionsupport.pas(206,3) Error: Identifier not found "GetLocaleFormatSettings"

Wie gesagt - vorgestern ging es definitiv noch - es wurde nichts verändert.
Ich habe Codetyphon inzwischen komplett neu installiert und bekomme den Fehler noch immer ...
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Soner
Beiträge: 417
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: VersionInfo

Beitrag von Soner »

Ich habe jeztzt die versionsupport.pas-Datei heruntergeladen, es wurde ohne Fehler kompiliert. (Windows-Platform)
Es gibt dort keine GetLocaleFormatSettings-Funktion.

MacWomble
Lazarusforum e. V.
Beiträge: 978
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

Re: VersionInfo

Beitrag von MacWomble »

Doch:

Code: Alles auswählen

 
function TVersionInfo.GetCompilatonTime: string;
var
  fs: TFormatSettings;
  dt: TDateTime;
begin                                       
  GetLocaleFormatSettings(2057, fs);    // HIER
  fs.TimeSeparator := ':';
  fs.DecimalSeparator := '.';
  fs.ShortDateFormat := 'yyyy"/"mm"/"dd';
  fs.LongTimeFormat := 'hh":"nn":"ss';
  fs.DateSeparator := '/';
  dt := StrToDateTime({$I %DATE%} + ' ' + {$I %TIME%}, fs);
  result := FormatDateTime('ddd, dd mmm yyyy hh:nn:ss', dt);
end;                                     
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Soner
Beiträge: 417
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: VersionInfo

Beitrag von Soner »

In der datei VersionSupport.pas vom ersten Beitrag hast du es nicht, aber ich habe die Funktion von deinem letzten Beitrag hinzugefügt, es kompiliert fehlerfrei.

marcov
Beiträge: 1087
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: VersionInfo

Beitrag von marcov »

getlocaleformatsettings ist eine Windows only Funktion. (das erste Argument ist eine Windows Lokale identifier)

MacWomble
Lazarusforum e. V.
Beiträge: 978
Registriert: Do 17. Apr 2008, 01:59
OS, Lazarus, FPC: Mint 19.3 Cinnamon / FPC/Lazarus
CPU-Target: Intel i7 64/32 Bit
Wohnort: Freiburg

Re: VersionInfo

Beitrag von MacWomble »

Sorry, vorhin konnte ich im Forum nichts posten, sonst hätte ich das bereits aufgeklärt:

Aus mir nicht verständlichen Gründen hat mein Projekt die VersionSupport.pas aus einem anderen Verzeichnis geladen. Diese Version ist aber fehlerhaft.
Inzwischen geht wieder alles.

Vielen Dank für eure Hilfe und Hinweise
Klaus

@markov
ich habe das irgendwo gefunden und eingesetzt - es funktioniert jedenfalls.

Ich hänge mal die 'richtige' Datei hier an, falls jemand Interesse hat.
Dateianhänge
versionsupport.pas
(6.22 KiB) 100-mal heruntergeladen
Alle sagten, dass es unmöglich sei - bis einer kam und es einfach gemacht hat.

Antworten