====== 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.