====== CodeTyphon / Freepascal ====== ===== Aktivierung der Unterstützung für Dark Mode (Windows) ===== Funktioniert ab CT Version 8.1. In der IDE: mit dem Paketmanager das Paket pl_Win_Darkstyle hinzufügen und komplett neu kompilieren. Im Projekt: im Projektinspektor pl_Win_Darkstyle in die Packages aufnehmen. Im Sourcecode: uses .., uWin32WidgetSetDark, uDarkStyleSchemes, uMetaDarkStyle, uDarkStyleParams, .. initialization PreferredAppMode := pamAllowDark; uMetaDarkStyle.ApplyMetaDarkStyle(DefaultDark); end. Zur Änderung des Modus ist immer ein Neustart der App erforderlich. ===== Neustart zur Laufzeit auslösen (Windows)===== Dafür gibts die Unit jmrestart.pas. unit jmRestart; { Diese Unit als ERSTE in die Uses Klausel des Projektquelltextes einbinden. Soll die Anwendung sich selbst neu starten, so muss ReStartProgram := True gesetzt werden und anschließend die laufende Applikation beendet werden. } {$mode ObjFPC}{$H+} interface var RestartProgram: boolean = false; implementation uses Windows; procedure DoReStart; var StartupInfo: TStartupInfo; ProcessInformation: TProcessInformation; begin FillChar(StartupInfo, SizeOf(StartupInfo), 0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.wShowWindow := sw_ShowNormal; CreateProcess(PChar(ParamStr(0)), '', nil, nil, False, 0, nil, nil, StartupInfo, ProcessInformation); end; initialization finalization if RestartProgram then DoReStart; end. ===== Versionsinformation auslesen (Windows) ===== Gibt die Version (3 Ebenen) und den Build-Count zurück. uses windows; function GetCurrentVersion: String; var VerInfoSize: DWORD; VerInfo: Pointer; VerValueSize: DWORD; VerValue: PVSFixedFileInfo; Dummy: DWORD; begin VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy); GetMem(VerInfo, VerInfoSize); GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo); VerQueryValue(VerInfo, '\', Pointer(VerValue), VerValueSize); with VerValue^ do begin Result := 'Version '+IntToStr(dwFileVersionMS shr 16); Result := Result + '.' + IntToStr(dwFileVersionMS and $FFFF); Result := Result + '.' + IntToStr(dwFileVersionLS shr 16); Result := Result + ' Build ' + IntToStr(dwFileVersionLS and $FFFF); end; FreeMem(VerInfo, VerInfoSize); end; ===== CT Version 7.7 ===== ==== Öffnen eines alten Projektes mit TuLED-Komponenten ==== ==== Konverter ==== Download für Windows: {{ :public:konverter77.zip | Konverter77}} Bedienung: Projektverzeichnis auswählen und updaten. ==== Manuell ==== Änderungen mit einem beliebigem Texteditor durchführen: === In der Projektdatei .ctpr === Ersetze "pl_BGRAuecontrols" durch "pl_BGRAextra". === In der Projektdatei .ppr === Ersetze "pl_BGRAuecontrols" durch "pl_BGRAextra". === In der Formulardatei unit1.frm (in allen Formularen mit LED-Komponenten) === Ersetze alle "TuELED" durch "TbgraLedEx". === In der Formulardatei unit1.pas (in allen Formularen mit LED-Komponenten) === Im uses-Bereich: ersetze "ueled" durch "bgraExLed" Nachfolgend: Alle Variablendeklaratioinen vom Typ "TuELED" durch "TbgraLedEx" ersetzen. Danach das Projekt mit CT Version 7.7 öffnen und im Projektinspektor auf verwaiste Abhängigkeiten kontrollieren.