Thema: Delphi Readln und Variant

Einzelnen Beitrag anzeigen

Benutzerbild von c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#1

Readln und Variant

  Alt 29. Mai 2006, 15:18
Hallo dp'ler,

ich versuche gerade ein Programm mit PascalScript auszustatten. Die dort laufenden Scripts sollten nun aber auch aus- und eingaben in einem Konsolenfenster tätigen können. Dazu möchte ich die Funktionen Read, Readln, Write und Writeln zur Verfügung stellen.
Nun, da es mir bisher nicht gelungen ist, einen Pointer auf eine dieser Funktionen zu bekommen, versuche ich das ganze gerade mit callback-funktionen (also so proxy-artig). Soweit kein Problem, aber man kann ja natürlich den Funktionen nicht nur strings übergeben, sondern auch integer-, single-, usw. Variablen übergeben. Zuerst dachte ich, einfach die funktion überladen. Aber bei der "menge" an overloads fängt man dann schon an nach ner anderen methode zu suchen, und mir fiel dann auch der typ/die klasse variant ein.
Bei Writeln funktioniert das auch ganz gut, aber der Compiler akzeptiert bei Readln keine variants, so bekomme ich immer die fehlermeldung:
Fehler
[Pascal Error] psd_main.pas(249): E2055 Illegal type in Read/Readln statement


Nunja ... ich hoffe ihr habt mein Problem verstanden und könnt mir helfen. Aber zum überladen bin ich ehrlich gesagt zu faul ... .

Achja, und zur veranschaulichung noch die Callback-Funktion:
Delphi-Quellcode:
//Funktioniert nicht
procedure TForm1.sfRead(out t: variant);
begin
  Read(t);
end;

//Funktioniert bestens ^^
procedure TForm1.sfWrite(t: variant);
begin
  Write(t);
end;
ciao & thx,
Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat