Einzelnen Beitrag anzeigen

DGS

Registriert seit: 10. Jul 2004
65 Beiträge
 
Delphi 6 Enterprise
 
#1

Im with statement obj referenzieren

  Alt 13. Okt 2007, 20:14
Tach.

ich stehe vor einer Aufgabe und habe Probleme die richtigen Worte zu finden dazu.

Jedenfalls Ausgangslage:
Ich benutze eine with Konstruktion, um u.a. Variablennamen einzusparen. Verwende ich für ein Stream.

Hier ein fetzen des relevaten Codes:

Delphi-Quellcode:
function tForm1.lesen( datei: String; var stream : tStream) : boolean;
var i : int;
begin
  with tFileStream.Create( datei, fmOpenRead) do begin
    {...}
    stream.CopyFrom( XXX, i );
    {...}
    free;
  end;
end;
Was ich nun möchte:
Aus dem erstellten tFileStream will ich ne Stelle in stream kopieren.

Das Problem:
Welche referenz soll ich nutzen? ( Stelle mit XXX markiert )
ein self liefert nur (in diesem Beispiel ) Form1, nicht aber den temporären stream.

Kann man das irgendwie mit with trotzdem lösen, oder komm ich um eine weitere Variable nicht herum?
Also sowas:

Delphi-Quellcode:
function tForm1.lesen( datei: String; var stream : tStream) : boolean;
var
  i : int;
  t : tStream;
begin
  t := tFileStream.Create( datei, fmOpenRead);
  {...}
  stream.CopyFrom( t, i );
  {...}
  t.free;
end;
Also dieser Code tut das, was ich auch will.
Wenn also mit with nicht gehen sollte, dann nehme ich auch den. Nur möcht ich halt wissen, ob es wirklich nicht möglich ist, oder ob doch man was machen kann.

Gruss
Vorschläge für sinnvolle Signatur bitter per PN
  Mit Zitat antworten Zitat