Einzelnen Beitrag anzeigen

Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Classhelper für TStream wird nicht erkannt

  Alt 23. Mai 2008, 15:32
Hi,

ich hab einen Classhelper für TStream:

Delphi-Quellcode:
type
  // Klassenhelfer für den TStream um Strings komfortabel lesen und schreiben zu können
  TStreamStringWriter = class helper for TStream
  public
    procedure WriteStringToStream(const aString: string);
    function ReadStringFromStream: string;
  end;

implementation

{ TStreamStringWriter }

// Liest einen String aus und gibt ihn zurück
function TStreamStringWriter.ReadStringFromStream: string;
var
  len: Integer;
begin
  ReadBuffer(len, SizeOf(Integer));
  SetString(Result, PChar(nil), len);
  ReadBuffer(Pointer(Result)^, len);
end;

// Schreibt einen String in den Stream
procedure TStreamStringWriter.WriteStringToStream(const aString: string);
var
  len: Integer;
begin
  len := Length(aString);
  WriteBuffer(len, SizeOf(Integer));
  WriteBuffer(PChar(aString)^, len);
end;
Dieser Klassenhelfer liegt in der Datei uclasshelpers.pas.

In einer anderen Datei (ulog.pas) hab ich stehen:

Delphi-Quellcode:
procedure TEFTLogEntry.SaveToStream(aStream: TStream);
var
  i: Integer;
begin
  i := Integer(LogType);
  aStream.WriteBuffer(i, SizeOf(Integer));
  aStream.WriteString(LogEntry);
  aStream.WriteString(LogTime);
end;
Zum Test hab ich die uclasshelpers.pas in die uses von ulog.pas geschrieben. Die Suchpfade dürften eig. passen (zumindest tun sie das für andere Dateien in den gleichen Ordnern).

Jedoch kommt beim Kompilieren, dass 'WriteString' ein undefinierter Bezeichner sei.

Woran könnte es liegen, dass der Classhelper nicht erkannt wird?
  Mit Zitat antworten Zitat