Folgende Lösung funktioniert, wenn du deine Anwendung ohne runtime Packages buildest:
Füge die geänderte DBConsts einfach explizit deinem Projekt hinzu.
Am einfachsten geht das, indem du die geöffnete DBConsts.pas oben am Tab greifst und sie in dein Projekt im Projektmanager ziehst.
Dann wird nämlich beim Kompilieren diese Datei neu kompiliert und nicht die
dcu benutzt, die Bestandteil der Delphi Installation ist.
Alternative ohne Veränderung der Delphi Sourcen:
Folgende
Unit in dein Projekt einbinden:
Delphi-Quellcode:
unit DBConstsChange;
interface
implementation
uses
DBConsts,
Windows;
procedure ChangeResourceString(ResString: PResStringRec; NewValue: PChar);
var
oldProtect: DWORD;
begin
if VirtualProtect(ResString, SizeOf(ResString^), PAGE_EXECUTE_READWRITE, @oldProtect)
then
begin
ResString.Identifier := Integer(NewValue);
VirtualProtect(ResString, SizeOf(ResString^), oldProtect, @oldProtect);
end;
end;
initialization
ChangeResourceString(@STextFalse, '
Nein');
ChangeResourceString(@STextTrue, '
Ja');
end.
Ich gehe mal davon aus, dass du keine Lokalisierung hast, denn sonst solltest du das mit dem 'Ja'/'Nein' dort lösen.