On Mon, Jun 09, 2003 at 12:57:24AM +1000, James Mills wrote:
> On Sun, Jun 08, 2003 at 04:43:21PM +0200, Michael Van Canneyt wrote:
> > 
> > 
> > On Sun, 8 Jun 2003, James Mills wrote:
> > 
> > > Hi,
> > >
> > > I get this error from a very simple class:
> > >
> > > Runtime error 216 at 0x0805A735
> > >   0x0805A735
> > >   0x080481FF  TCONFIG__PRINT,  line 29 of configclass.pas
> > >   0x0805BE35  main,  line 29 of forum.pas
> > >   0x080480B0
> > >
> > > Any ideas ?
> > 
> > You should also show the forum.pas file.
> > The constructor Create should be in the 'public'  section of the class,
> Ahh I think that's where my error lies. (stupid me)
> 
> cheers
> James

Actually it makes no difference, so I'll attach all relevant files.

cheers
James

> 
> > not in the first (private) section.
> > 
> > Michael.
> > 
> > 
> > _______________________________________________
> > fpc-pascal maillist  -  [EMAIL PROTECTED]
> > http://lists.freepascal.org/mailman/listinfo/fpc-pascal
> 
> -- 
> -
> - James Mills
> Zero Defect Software Engineers Group - ZDSEG
> 
> _______________________________________________
> fpc-pascal maillist  -  [EMAIL PROTECTED]
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal

-- 
-
- James Mills
Zero Defect Software Engineers Group - ZDSEG
unit Config;

interface

uses
	configClass;

procedure init;
procedure done;
procedure load;
procedure print;

var
	conf:			TConfig;
	confFile:	String;

implementation

procedure init;
begin
	confFile := 'forum.conf';
end;

procedure done;
begin
	conf.Destroy;
end;

procedure load;
begin
	conf := TConfig.Create;
end;

procedure print;
begin
	conf.print;
end;

end.
unit configClass;

interface

type
	TConfig = class(TObject)
		private
			fileName:	String;
		public
			temp:	String;
			constructor Create;
			procedure print;
	end;

implementation

constructor TConfig.Create;
begin
	temp := 'hello';
	inherited Create;
end;

procedure TConfig.print;
begin
	writeLn('#Forum Configuration:');
	writeLn('#');

	writeLn('/General/');
	writeLn('templateDir=', temp);
	writeLn;
end;

end.
program forum;

uses
	Linux, Config;

const max_data = 1000;

type datarec = record
  name,value : string;
  end;

var data : array[1..max_data] of datarec;
    i,nrdata : longint;
    c  : char;
    literal,aname : boolean;
	


var
	s:	String;
	f:	Text;

begin
	config.init;
writeln ('Content-type: text/html');
writeln;
if getenv('REQUEST_METHOD')<>'POST' then
   begin
		conf.print;
		assign(f, '/home/prologic/www/data/forum/templates/index.html');
		reset(f);
		while not EOF(f) do
			begin
				readLn(f, s);
				writeLn(s);
			end;
		close(f);
   halt(1);
   end;
if getenv('CONTENT_TYPE')<>'application/x-www-form-urlencoded' then
   begin
   writeln ('This script can only be used to decode form results');
   halt(1);
   end;
nrdata:=1;
aname:=true;
while not eof(input) do
  begin
  literal:=false;
  read(c);
  if c='\' then
     begin
     literal:=true;
     read(c);
     end;
  if literal or ((c<>'=') and (c<>'&')) then
     with data[nrdata] do
        if aname then name:=name+c else value:=value+c
  else
     begin
     if c='&' then
         begin
         inc (nrdata);
         aname:=true;
         end
      else
         aname:=false;
      end
  end;
writeln ('<H1>Form Results :</H1>');
writeln ('You submitted the following name/value pairs :');
writeln ('<UL>');
for i:=1 to nrdata do writeln ('<LI> ',data[i].name,' = ',data[i].value);
writeln ('</UL>');

end.

Reply via email to