![]() |
JVCL 3.35 und Delphi 7 Fehler beim installieren
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:
In Classes.pas ist es jedoch so deklariert:
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;
Delphi-Quellcode:
Hat jemannd einen Tipp bzw. die Lösung parat?
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; Danke |
Re: JVCL 3.35 und Delphi 7 Fehler beim installieren
In neueren JVCL Versionen sieht das so aus:
Delphi-Quellcode:
Du musst also nur das ('') hinzufügen und dann den JVCLInstaller neu starten. Die 3.35 wurde nur für die Delphi 2009 Partner DVD erstellt. Und da hat man (wie so oft bei der JVCL) vergessen die älteren Versionen mit zu prüfen.
if AName <> '' then
begin InnerComponentToXML(AComponent, AElem, Recurse); {$ifdef COMPILER12_UP} StringStream := TStringStream.Create; {$else} StringStream := TStringStream.Create(''); {$endif} try JclStream := TJclStringStream.Create(StringStream); Mein Rat bei der JCL/JVCL ist immer, sich einen Daily Snapshot zu schnappen, der ist meist stabiler als die Release Version. Vor allem wenn seit dem Release bereits mehrere Monate vergangen sind. ![]() ![]() |
Re: JVCL 3.35 und Delphi 7 Fehler beim installieren
DANKE!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz