Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Script Engines und Unicode in Delphi 2010 (https://www.delphipraxis.net/150148-script-engines-und-unicode-delphi-2010-a.html)

Patrick 8. Apr 2010 16:17


Script Engines und Unicode in Delphi 2010
 
Hallo allerseits,

Ich benötige eine Script-Engine mit Unicode support. Bisher bin ich mit einem Uralt-Teil ganz gut unterwegs gewesen. Jetzt werden die Scripte aber um die 600 Zeilen lang, und aufgrund von Unicode-support sehr langsam.
Ich hatte mir also mal die RemObjects Pascal Script Engine angeschaut. Aber hier (wie bei vielen anderen Komponenten leider auch) wird zwar mit "Unicode-Support" geworben, aber drin ist leider nur "AnsiString". Also auf Unicode-Support kann ich erstmal verzichten, aber ich brauche ne schnellere Ausführung.

Dazu meine Fragen:
Wenn ich RemObjects compiliere, oder die alte Script-Engine auf AnsiString umstelle spuckt der Compiler lauter String-Umwandlungs Warnungen aus. Was ja an für sich logisch ist, da alle Delphi-Funktion zum manipulieren von Strings (z.B. Delete, Copy, StringReplace, usw...) unter Delphi 2010 auf WideStrings ausgelegt sind. Aber habe ich dann überhaupt noch die Möglichkeit unter Delphi 2010 bestimmte Komponenten in nativ AnsiString zu programmieren?

Kennt denn irgendjemand ne Script-Engine, die ein Unicode-Scripte ausführen kann?

Patrick

mkinzler 8. Apr 2010 16:25

Re: Script Engines und Unicode in Delphi 2010
 
Also bei mit ist PascalScript Unicodefähig

Patrick 8. Apr 2010 16:28

Re: Script Engines und Unicode in Delphi 2010
 
Also ich bekomme beim compilieren der Komponenten 60 String-Umwandlungs-Warnungen, was auf AnsiString hindeutet.

mkinzler 8. Apr 2010 16:36

Re: Script Engines und Unicode in Delphi 2010
 
Wie verwendest du die Kompo?

s.h.a.r.k 8. Apr 2010 16:54

Re: Script Engines und Unicode in Delphi 2010
 
Es gibt hier in der DP doch auch so ein eine Skript-Engine, die von einem Schüler entwickelt wurde. Mir fällt nur deren Namen nicht wirklich ein...

// edit

Habs doch noch gefunden :mrgreen:

mkinzler 8. Apr 2010 16:57

Re: Script Engines und Unicode in Delphi 2010
 
Nicht zu vergessen die vom kleinen Dave
http://www.delphipraxis.net/internal...t.php?t=165328

s.h.a.r.k 8. Apr 2010 16:58

Re: Script Engines und Unicode in Delphi 2010
 
@mkinzler: diese version ist sogar unicode fähig.

bei rutis habe ich leider keinerlei info bisher gefunden.

Patrick 9. Apr 2010 08:37

Re: Script Engines und Unicode in Delphi 2010
 
@mkinzler

Was heißt, wie verwende ich die Komponente?
In den Samples befindet ein "TestApplication" Projekt, was ich compiliert habe. Benutzt werden hier nur die PSScript und die PS3DllPlugin Componenten. der relevante Code schaut so aus
Delphi-Quellcode:
procedure TForm1.Compile1Click(Sender: TObject);
  procedure OutputMessages;
  var
    l: Longint;
    b: Boolean;
  begin
    b := False;

    for l := 0 to PSScript.CompilerMessageCount - 1 do
    begin
      Memo2.Lines.Add('Compiler: '+ PSScript.CompilerErrorToStr(l));
      if (not b) and (PSScript.CompilerMessages[l] is TIFPSPascalCompilerError) then
      begin
        b := True;
        Memo1.SelStart := PSScript.CompilerMessages[l].Pos;
      end;
    end;
  end;
begin
  Memo2.Lines.Clear;
  PSScript.Script.Assign(Memo1.Lines);
  Memo2.Lines.Add('Compiling');
  if PSScript.Compile then
  begin
    OutputMessages;
    Memo2.Lines.Add('Compiled succesfully');
    if not PSScript.Execute then
    begin
      Memo1.SelStart := PSScript.ExecErrorPosition;
      Memo2.Lines.Add(PSScript.ExecErrorToString +' at '+Inttostr(PSScript.ExecErrorProcNo)+'.'+Inttostr(PSScript.ExecErrorByteCodePosition));
    end else Memo2.Lines.Add('Succesfully executed');
  end else
  begin
    OutputMessages;
    Memo2.Lines.Add('Compiling failed');
  end;
end;
Gibt es denn keine Möglichkeit unter Delphi 2010 mit AnsiStrings zu arbeiten. Kann doch eigentlich nicht sein, dass alle Funktionen, die Delphi bereitstellt nur noch mit WideStrings arbeiten!?

himitsu 9. Apr 2010 09:07

Re: Script Engines und Unicode in Delphi 2010
 
Zitat:

Zitat von Patrick
Gibt es denn keine Möglichkeit unter Delphi 2010 mit AnsiStrings zu arbeiten. Kann doch eigentlich nicht sein, dass alle Funktionen, die Delphi bereitstellt nur noch mit WideStrings arbeiten!?

Das zählt zur bescheuertsten Unicodeumsetzung, welche eigentlich Erleichterung für den uimstieg bieten sollten.

Alles wurde erstmal auf Unicode umgestellt (selbst Funktionen wie AnsiSameString sind Unicode).
Erst wenn man z.B. die Unit AnsiStrings einbindret, findet man auch soclhe Funktionen als ANSI.

Ich hätte die eher/lieber an der bekannten Stelle gelassen und alles nur überladen.

mkinzler 9. Apr 2010 10:25

Re: Script Engines und Unicode in Delphi 2010
 
Dann würde es mindestens 30 Jahre dauern, bis alle auf Unicode umstellen. Sieht man ja an der BDE die trotz zunehmenden Problemen mit neueren BS Versionen nicht totzukriegen ist. Man muss die Leute zum Umstieg zwingen!


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz