From 3eac55ae746a5c8a6a9c8ac56fc14fa7a17bfd09 Mon Sep 17 00:00:00 2001 From: ocoursiere Date: Sat, 30 Nov 2002 03:25:51 +0000 Subject: [PATCH] Small fixes again --- bepascal/bepascal/codegen/apireader.pp | 8 +++++--- bepascal/bepascal/codegen/sourcewrite.pp | 5 +++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bepascal/bepascal/codegen/apireader.pp b/bepascal/bepascal/codegen/apireader.pp index 17a61c0..f00095b 100644 --- a/bepascal/bepascal/codegen/apireader.pp +++ b/bepascal/bepascal/codegen/apireader.pp @@ -503,11 +503,13 @@ begin else Add(Format('function %s.%s%s', [CppToPas(Classe.Name + ' *'), ProcName, EndChar])); end; - //Body - if (ResultType.Typ = '') or (ResultType.Typ = 'void') then + // Implementation body + if IsConstructor then + BodyPas := Format(' CPlusObject := %s_%s%s', [Classe.Name, ProcName, SelfParamImpl]) + else if (ResultType.Typ = '') or (ResultType.Typ = 'void') then BodyPas := Format(' %s_%s%s', [Classe.Name, ProcName, SelfParamImpl]) else - BodyPas := Format(' %s_%s%s', [Classe.Name, ProcName, SelfParamImpl]); + BodyPas := Format(' Result := %s_%s%s', [Classe.Name, ProcName, SelfParamImpl]); end; procedure TFunction.Ends; diff --git a/bepascal/bepascal/codegen/sourcewrite.pp b/bepascal/bepascal/codegen/sourcewrite.pp index f6cc485..5f580e3 100644 --- a/bepascal/bepascal/codegen/sourcewrite.pp +++ b/bepascal/bepascal/codegen/sourcewrite.pp @@ -105,6 +105,11 @@ begin FPas := TStringList.Create; FPas.Add(PasLicense); FPas.Add('unit ' + LowerCase(FFileName) + ';'); + FPas.Add(''); + FPas.Add('interface'); + FPas.Add(''); + FPas.Add('uses'); + FPas.Add(' beobj;'); FInterfacePas := TStringList.Create; FImplementationPas := TStringList.Create; FImportFuncsPas := TStringList.Create;