Hallo,
bei mir geht TMemoryStream.Create nicht, sondern nur "Stream-Name".Init (xxxx, yyyy).
Das wäre an sich nicht schlimm, aber andere praktische Funktionen wie LoadFromFile ergeben auch immer nur ...identifier idents no member "LoadFromFile"...
Mach ich da was falsch?
Danke für Eure Unterstützung
Problem mit TMemoryStream.Create
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Problem mit TMemoryStream.Create
Zeige mal den Code.
Martin
Martin
Re: Problem mit TMemoryStream.Create
Das soll eigentlich eine WAV-Datei lesen:
Wenn man in Lazarus "mSt." eingibt, ist in der Soforthilfe-Liste der Funktionen das Create bzw. LoadFromFile gar nicht erst enthalten.
ore12
Code: Alles auswählen
INTERFACE
uses Classes, SysUtils, Objects, mmSystem; ...
IMPLEMENTATION
procedure ProzedurName;
var mSt : TMemoryStream;
begin
{ mSt := TMemoryStream.Create geht nicht --> identifier idents no member "Create" }
mSt.Init ( 4096, 4096 );
mSt.LoadFromFile ('ton.wav'); { --> identifier idents no member "LoadFromFile" }
mSt.Free;
end;
ore12
Zuletzt geändert von Lori am So 5. Feb 2012, 17:45, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Problem mit TMemoryStream.Create
Versuche mal
Vermutlich arbeitest du im TurboPascal mode wo tmemorystream so definiert ist:
Edit:
uses Classes, SysUtils, Objects, <- hier ist das Problem, "Objects" braucht es im Objpas und Delphi Modus nicht.
Edit 2:
Es sei denn, du willst tatsächlich mit objects statt Klassen arbeiten. Willst du?
Martin
Code: Alles auswählen
{$mode objfpc}
INTERFACE
uses Classes, SysUtils, Objects, mmSystem; ...
IMPLEMENTATION
Code: Alles auswählen
TYPE
TMemoryStream = OBJECT (TStream)
BlkCount: Longint; { Number of segments }
BlkSize : Word; { Memory block size }
MemSize : LongInt; { Memory alloc size }
BlkList : PPointerArray; { Memory block list }
CONSTRUCTOR Init (ALimit: Longint; ABlockSize: Word);
DESTRUCTOR Done; Virtual;
PROCEDURE Truncate; Virtual;
PROCEDURE Read (Var Buf; Count: Longint); Virtual;
PROCEDURE Write (Var Buf; Count: Longint); Virtual;
PRIVATE
FUNCTION ChangeListSize (ALimit: Longint): Boolean;
END;
uses Classes, SysUtils, Objects, <- hier ist das Problem, "Objects" braucht es im Objpas und Delphi Modus nicht.
Edit 2:
Es sei denn, du willst tatsächlich mit objects statt Klassen arbeiten. Willst du?
Martin
Re: Problem mit TMemoryStream.Create
unit Objects war zuviel, jetzt funktioniert das !
Vielen Dank für Deine Hilfe
Olaf
Vielen Dank für Deine Hilfe
Olaf