Watch, Follow, &
Connect with Us
Public Report
Report From: Delphi-BCB/Resourcing/Handling    [ Add a report in this area ]  
Report #:  29569   Status: Withdrawn
Builded resources are partially not loaded
Project:  Delphi Build #:  10.0.2166.28377
Version:    10.0 Submitted By:   John Schmidt
Report Type:  Crash / Data loss / Total failure Date Reported:  5/29/2006 2:05:32 AM
Severity:    Serious / Highly visible problem Last Updated: 6/21/2006 11:19:36 PM
Platform:    All versions Internal Tracking #:  
Resolution: None  Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: None
Description
Builded resource DFMs which are in a subdirectory of the language resource directory, e.g. {Projectdir]\DES\C\Program Files\QuickReportsXI\*.DFM are builded but not loaded at runtime (forced language load!!!). On D2005 this has worked fine.
Steps to Reproduce:
Create project and run the resource builder for a seleceted language including the external DFMs like those of QuickReport or FastReport. The directory chain with the DFMs is builded as result. Translate the DFMs (external and internal) into the selected language. Build both projects, original and resource with following code in the main DPR (example for swiss-german):

program Project1;

uses
  Forms,
  Windows,
  SysUtils,
  Reinit,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.RES}

procedure CheckParamStr;
var
  i: Integer;
begin
  for i := 1 to ParamCount do  // Params[0] = self!
  begin
    if UpperCase(ParamStr(i)) = 'DES' then     // Swiss-german
      if LoadNewResourceModule((SUBLANG_GERMAN_SWISS shl 10) or
        LANG_GERMAN) <> 0 then ReinitializeForms;
  end;
end;

begin
  Application.Initialize;
  CheckParamStr;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Use the prameter to run the application in english or the selected language. The internal DFMs are changed, not so the external ones.
Workarounds
None
Attachment
None
Comments

John Schmidt at 6/21/2006 11:28:10 PM -
I have seen following:

The builded DFMs and DFNs are not used, even if translated there. One has to translate in the DRC-file the same expressions as in the forms, then it works. Earlier the forms have to been translated, now Delphi replaces the form texts by the ones in the DRC-file. Or the both texts were synchronized better, I don't know.

This is a new feature and unreported! - Please report in future such feature changements, as programmers are loosing a lot of the "RAD-gained" development time looking for workarounds where no workaround is needed!

John Schmidt

Server Response from: ETNACODE01