AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Funktionen mit PascalScript auslagern

Funktionen mit PascalScript auslagern

Ein Thema von Codewalker · begonnen am 5. Mär 2010 · letzter Beitrag vom 8. Mär 2010
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#11

Re: Funktionen mit PascalScript auslagern

  Alt 5. Mär 2010, 19:48
Zitat von Wolfgang Mix:
Das ist doch kein Script, das ist eine simpelste Funktion!
Ist ja nur ein Beispiel. Das soll quasi im Skript stehen und ich will aus meinem Programm diese Funktion aufrufen können und das Ergebnis erhalten. Das muss doch gehen...
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
224 Beiträge
 
Delphi XE4 Enterprise
 
#12

Re: Funktionen mit PascalScript auslagern

  Alt 5. Mär 2010, 19:59
Steht auf der Seite, die wir vorhin verlinkt haben, gaaanz unten.


The component version of Pascal Script also supports execution of scripted functions. This works by using the ExecuteFunction method.
Delphi-Quellcode:
ShowMessage(CompExec.ExecuteFunction([1234.5678, 4321,
                                      'test'],
                                     'TestFunction'));
This will execute the function called 'TestFunction' with 3 parameters, a float, an integer and a string. The result will be passed back to ShowMessage.


In deinem Fall vielleicht so...
Ergebnis := CompExec.ExecuteFunction([],'SagWas'));
  Mit Zitat antworten Zitat
Benutzerbild von Wolfgang Mix
Wolfgang Mix

Registriert seit: 13. Mai 2009
Ort: Lübeck
1.222 Beiträge
 
Delphi 2005 Personal
 
#13

Re: Funktionen mit PascalScript auslagern

  Alt 5. Mär 2010, 20:26
Zitat von Daniela.S:
@Wolfgang
Mach ich gerne, kann's aber erst am Montag, wenn ich wieder in der Arbeit bin, posten. Hab mir die Arbeit dieses Wochenende mal nicht mit nach Hause genommen
Das wäre lieb von Dir

Schönes Wochenende


Wolfgang
Wolfgang Mix
if you can't explain it simply you don't understand it well enough - A. Einstein
Mein Baby:http://www.epubli.de/shop/buch/Grund...41818516/52824
  Mit Zitat antworten Zitat
Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#14

Re: Funktionen mit PascalScript auslagern

  Alt 6. Mär 2010, 13:00
Das ganze mit ExecuteFunction funktioniert. Das Problem lag woanders: Da in meiner Unit kein begin...end. - Block war, konnte er die Funktion nicht aufrufen. In den Compiler-Optionen muss icAllowNoBegin und icAllowNoEnd gesetzt sein oder der Block eingefügt werden, so dass das Skript dann so aussieht:
Delphi-Quellcode:
function TuWas(): String;
begin
 Result := 'Was';
end;

// Und jetzt der leere Block
begin

end.
  Mit Zitat antworten Zitat
Benutzerbild von Daniela.S
Daniela.S

Registriert seit: 1. Mär 2008
Ort: Niederösterreich
224 Beiträge
 
Delphi XE4 Enterprise
 
#15

Re: Funktionen mit PascalScript auslagern

  Alt 8. Mär 2010, 08:29
Hallo,

wie versprochen hier noch ein Beispiel wie ich eigene Objekte, die auf keine Vorgängerklasse basieren, importiert habe.

Delphi-Quellcode:
procedure TmyObjectValue_Read(Self: TmyObject; var value: string);
begin
  value := Self.MyValue;
end;

procedure TmyObjectValue_Write(Self: TmyObject; const value: string);
begin
  Self.MyValue := value;
end;

procedure RIRegisterMyObjects(Cl: TPSRuntimeClassImporter);
begin
  with Cl.Add( TmyObject ) do begin
    RegisterPropertyHelper( @TmyObjectValue_Read, @TmyObjectValue_Write, 'MyValue' );
    end;
end;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:19 Uhr.
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