Hi,
habe gerade einen Rechner neu aufgesetzt und wollte die
Jedi's installieren,
doch leider bricht der JvclInstaller mit einem Fehler ab und meint:
'Nicht genügend wirkliche Parameter' (
Unit '..\..\run\JvTranslator.pas').
Habe mir die Stelle mal genauer angesehen und es stimmt(s.u.).
Innerhalb von
TJvTranslator.ComponentToXML wird
TStringStream.Create ohne Parameter
aufgerufen:
Delphi-Quellcode:
begin
Result := '';
FXML.Root.Clear;
if AComponent = nil then
Exit;
if AComponent is TApplication then
begin
AName := TApplication(AComponent).Title;
FXML.Root.Name := 'Translation'; // DO NOT LOCALIZE
AElem := FXML.Root.Items.Add(AName);
end
else
begin
AName := TComponent(AComponent).Name;
AElem := FXML.Root;
FXML.Root.Name := AName;
end;
if AName <> '' then
begin
InnerComponentToXML(AComponent, AElem, Recurse);
StringStream := TStringStream.Create;
try
JclStream := TJclStringStream.Create(StringStream);
try
FXML.Root.SaveToStringStream(JclStream);
Result := StringStream.DataString;
finally
JclStream.Free;
end;
finally
StringStream.Free;
end;
end;
end;
In
Classes.pas ist es jedoch so deklariert:
Delphi-Quellcode:
TStringStream = class(TStream)
private
FDataString: string;
FPosition: Integer;
protected
procedure SetSize(NewSize: Longint); override;
public
constructor Create(const AString: string);
function Read(var Buffer; Count: Longint): Longint; override;
function ReadString(Count: Longint): string;
function Seek(Offset: Longint; Origin: Word): Longint; override;
function Write(const Buffer; Count: Longint): Longint; override;
procedure WriteString(const AString: string);
property DataString: string read FDataString;
end;
Hat jemannd einen Tipp bzw. die Lösung parat?
Danke