AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?
Thema durchsuchen
Ansicht
Themen-Optionen

[dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

Ein Thema von jaenicke · begonnen am 8. Mai 2012 · letzter Beitrag vom 9. Mai 2012
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#1

[dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 14:45
Hallo zusammen,

ich beschäftige mich seit Kurzem mit Delphi Web Script und versuche aus Kompatibilitätsgründen bereits vorhandene Variablen inklusive deren Werten in die Variablenliste von dwscript zu bekommen.

Der Code dafür sieht so aus:
Delphi-Quellcode:
var
  NewVar: TdwsGlobal;
begin
  for CurrentVar in MeineBisherigenVariablen do
  begin
    NewVar := dwsMainUnit.Variables.Add;
    NewVar.Name := CurrentVar.Key;
    NewVar.DataType := 'String';
    NewVar.OnReadVar := ReadEventVar;
    NewVar.OnWriteVar := WriteEventVar;
Mein Problem ist nun aber, dass ich in dem Event nicht gefunden habe wo der Variablenname drin steht:
Delphi-Quellcode:
procedure TAbc.ReadEventVar(info: TProgramInfo; var value: Variant);
// ich vermute einmal in info, aber wo dort?
Hat jemand von euch eine Ahnung?

Vielen Dank,
Schönen Gruß,
Sebastian
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#2

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 15:02
Hi
---Blödsinn---

Geändert von Iwo Asnet ( 8. Mai 2012 um 15:03 Uhr) Grund: Nun habe ich die Frage verstanden ... :-(
  Mit Zitat antworten Zitat
RainerO

Registriert seit: 25. Sep 2006
Ort: Duisburg
17 Beiträge
 
Delphi 2007 Professional
 
#3

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 17:29
Hi,

ich hab in unserem Programm einen Zugriff auf die Variablen gefunden (von einem ehemaligen Programmierer, ich versteh den Code leider nicht vollständig),
der auf Info Variablen so zugreiftInfo.Vars[ExternalObjects[i]] , wobei ExternalObjects vom Typ TStrings ist. Leider wird dort nicht das ReadEvent genutzt, so das ich es nicht genau sagen kann, aber das Info ist auch vom Typ TProgramInfo - evtl. hat das im Event übergebene Info.Vars nur genau ein Element? Ich habe allerdings auch nicht herausgefunden, wie man an die Elemente herankommt, OHNE den String zu übergeben
In unserem Code wird durch ExternalObjects iteriert ...

Ich hoffe, das ist wenigstens ein wenig hilfreich

lg rainer
Rainer Osselmann
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 17:39
Danke, aber leider stehen die anderen Variablen offenbar gar nicht in diesem Info-Objekt, so dass dieser Zugriff gar nicht geht. Ich habe die Symboltabelle durchiteriert, dort sind aber keine Symbole enthalten. Auch die Parameter sind leer.

In dem Unittest zu den Events wird sinnigerweise nur ein Wert unabhängig vom Variablennamen zugewiesen...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Iwo Asnet

Registriert seit: 11. Jun 2011
313 Beiträge
 
#5

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 17:43
Vielleicht pro Variable ein eigener Event?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.580 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 20:04
Ja, das wäre eine Option. Daran habe ich gar nicht gedacht, danke.

Allerdings bin ich darauf auch deshalb nicht gekommen, weil es irgendwie von hinten durch die Brust ins Auge geschossen ist. Aber ich werde dann wohl wirklich für jede Variable noch extra ein Transitobjekt anlegen...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#7

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 20:29
Ich würde ein Script generieren, in dem die Variablen deklariert sind und diese dann vor Ausführung setzen und danach abfragen.
Das funktioniert natürlich nicht, wenn sich die Variablen von außen verändern dürfen, solange das Skript läuft.

Delphi-Quellcode:
Info.Vars['MyVar'] := 123;
Info.Func['MainProgram'].Call;
Writeln('MyVar ', VarToStr(Info.Vars['MyVar']));
So in etwa (mein Code ist 7 Jahre alt)

PS: FastScript ist einfacher und mehr auf die Verbindung mit deiner Anwendung ausgelegt: Dafür sind die deklarativen Möglichkeiten begrenzt: Klassen und Objekte deklarierst Du -glaub ich- gar nicht, sondern übergibst sie als Delphi-Instanz. Ist aber praktisch.

FastScript ist -glaube ich- auch umsonst.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#8

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 21:46
FastScript ist -glaube ich- auch umsonst.
Ob's umsonst ist, kann ich nicht beurteilen - kostenlos ist es jedenfalls nicht.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#9

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 21:52
Hach, immer diese Wortklauberei mit Bart Schon irgendwie überflüssig, wie Aufrechtschreibfehlerhinweiserei.
  Mit Zitat antworten Zitat
Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#10

AW: [dwscript] TdwsGlobal.OnReadVar, wo steht der Variablenname?

  Alt 8. Mai 2012, 22:21
Ich habe weder auf Rechtschreibfehler hingewiesen noch auf eine falsche Ausdrucksweise, sondern auf den Kostenfaktor.
Es ist immer wieder ein Erlebnis, mit Dir zu diskutieren.
Thomas Nitzschke
Google Maps mit Delphi
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:14 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