ich habe hier ein Programm an dem ich Änderungen vornehmen soll. Leider bekomme ich schon den mir vorliegenden Quellcode nicht kompiliert. Ich habe das Ganze jetzt immer weiter vereinfacht um nach dem Ausschlussverfahren herauszufinden wo das Problem liegt.
Scheinbar liegt es an der Deklaration mit der Anweisung 'parameters'.
folgenden Code habe ich jetzt:
Code: Alles auswählen
memvar meineVariable
parameters param1, param2
procedure Main
public meineVariable := "something"
prozedurAufruf()
return
procedure prozedurAufruf()
CLEAR SCREEN
SET COLOR TO N/W,W/N
@ 1,1 SAY meineVariable
return
Was ich auch noch nicht so richtig verstanden habe ist das mit MEMVAR / PUBLIC.C:\Clipper>xpp /b vartest2
Xbase++ (R) Compiler 1.90.331 Apr 26 2006
Copyright (c) Alaska Software. All rights reserved.
File: vartest2.prg Line: 18
vartest2.prg(4:0): warning XBT0106: Procedure MAIN does not end with RETURN
vartest2.prg(5:0): error XBT0247: Redefinition of function or procedure
1 error(s) found in file vartest2.prg!
Ich bekomme die gleiche Fehlermeldung bei diesem Code:
Code: Alles auswählen
public meineVariable
procedure Main
meineVariable := "something"
prozedurAufruf()
return
procedure prozedurAufruf()
CLEAR SCREEN
SET COLOR TO N/W,W/N
@ 1,1 SAY meineVariable
return
Ohne die Anweisung PARAMETERS erfolgt das Kompilieren auch ohne Probleme.
Ok, während des Schreibens noch etwas ausprobiert - wenn ich die Anweisung PARAMETERS verschiebe innerhalb die procedure MAIN dann erhalte ich den Fehler nicht mehr.
Code: Alles auswählen
// CODE erfolgreich kompiliert und ohne Fehler ausfuehrbar
memvar meineVariable
procedure Main
parameters param1, param2
public meineVariable := "something"
prozedurAufruf()
return
procedure prozedurAufruf()
CLEAR SCREEN
SET COLOR TO N/W,W/N
@ 1,1 SAY meineVariable
return
Wenn ich auf MEMVAR umstelle dann funktioniert es - was ist falsch an der Deklaration von PUBLIC?!?