From ece235b72e9ab728d8730b1963abe6fe5a920182 Mon Sep 17 00:00:00 2001 From: ocoursiere Date: Wed, 5 Feb 2003 22:25:11 +0000 Subject: [PATCH] small fixes --- bepascal/bepascal/codegen/apireader.pp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/bepascal/bepascal/codegen/apireader.pp b/bepascal/bepascal/codegen/apireader.pp index f00095b..b522e1d 100644 --- a/bepascal/bepascal/codegen/apireader.pp +++ b/bepascal/bepascal/codegen/apireader.pp @@ -535,6 +535,13 @@ var s := Format('%s%s : %s;', [List.Strings[List.Count - 1], EndChar, CppToPas(ResultType.Typ)]); List.Strings[List.Count - 1] := s; end + else if IsConstructor then + begin + WriteLn(ResultType.Typ); + WriteLn(Name); + s := Format('%s%s;', [List.Strings[List.Count - 1], EndChar]); + List.Strings[List.Count - 1] := s; + end else List.Strings[List.Count - 1] := Format('%s%s;', [List.Strings[List.Count - 1], EndChar]); end; @@ -591,6 +598,22 @@ begin end; procedure TParam.Middle; + procedure WriteParamImport(List : TStringList); + var + s : string; + begin + WriteLn('WriteParamImport'); + WriteLn(List.Strings[List.Count - 1]); + if IsObject then + begin + WriteLn('IsObject'); + s := Format('%s%s : %s; ', [List.Strings[List.Count - 1], Name, 'TCPlusObject']); + end + else + s := Format('%s%s : %s; ', [List.Strings[List.Count - 1], Name, CppToPas(Typ)]); + List.Strings[List.Count - 1] := s; + WriteLn(List.Strings[List.Count - 1]); + end; procedure WriteParam(List : TStringList); var s : string; @@ -603,7 +626,7 @@ procedure TParam.Middle; begin WriteLn('Param Middle'); WriteParam(SourceWriter.InterfacePas); - WriteParam(SourceWriter.ImportFuncsPas); + WriteParamImport(SourceWriter.ImportFuncsPas); WriteParam(SourceWriter.ImplementationPas); if IsObject then ParentFunction.BodyPas := Format('%s%s.CPlusObject, ', [ParentFunction.BodyPas, Name])