Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

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

AW: Compilieren der Standard-Packages

  Alt 6. Nov 2012, 12:56
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.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie ( 6. Nov 2012 um 13:04 Uhr)
  Mit Zitat antworten Zitat