mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 06:49:13 +02:00
new test
This commit is contained in:
parent
1338dbd992
commit
4029ec8a3a
51
tests/webtbs/tw1658.pp
Normal file
51
tests/webtbs/tw1658.pp
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
{ Source provided for Free Pascal Bug Report 1658 }
|
||||||
|
{ Submitted by "Luis Castedo" on 2001-10-28 }
|
||||||
|
{ e-mail: castedo@elai.upm.es }
|
||||||
|
program Buggy;
|
||||||
|
|
||||||
|
uses
|
||||||
|
|
||||||
|
Objects, Strings;
|
||||||
|
|
||||||
|
type
|
||||||
|
|
||||||
|
TMyStream = object(TDosStream)
|
||||||
|
m_fAutoDelete: Boolean;
|
||||||
|
destructor Done; virtual;
|
||||||
|
end;
|
||||||
|
PMyStream = ^TMyStream;
|
||||||
|
|
||||||
|
destructor TMyStream.Done;
|
||||||
|
var
|
||||||
|
strFName: String;
|
||||||
|
F : File;
|
||||||
|
begin
|
||||||
|
strFName := StrPas(FName);
|
||||||
|
inherited Done;
|
||||||
|
if not m_fAutoDelete then
|
||||||
|
Exit;
|
||||||
|
Assign(F, strFName);
|
||||||
|
Erase(F);
|
||||||
|
end;
|
||||||
|
|
||||||
|
// Global vars
|
||||||
|
var
|
||||||
|
pTempStream: PMyStream;
|
||||||
|
EntryMem,ExitMem : Cardinal;
|
||||||
|
// Main routine
|
||||||
|
begin
|
||||||
|
EntryMem:=MemAvail;
|
||||||
|
pTempStream := nil;
|
||||||
|
pTempStream := New(PMyStream, Init('TEMP00.TMP', stCreate));
|
||||||
|
if not Assigned(pTempStream) then
|
||||||
|
Halt(1);
|
||||||
|
pTempStream^.m_fAutoDelete := False;
|
||||||
|
Dispose(pTempStream, Done);
|
||||||
|
pTempStream := nil;
|
||||||
|
ExitMem:=MemAvail;
|
||||||
|
If ExitMem<EntryMem then
|
||||||
|
begin
|
||||||
|
Writeln('Memory lost');
|
||||||
|
Halt(1);
|
||||||
|
end;
|
||||||
|
end.
|
Loading…
Reference in New Issue
Block a user