mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 21:09:24 +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