[Gambas-devel] Question of parameters (2)
Charlie Reinl
Karl.Reinl at ...16...
Sun Jul 4 21:46:12 CEST 2004
Salut ,
Thank you Nigel.I can't take it, if you could just have a look to that, again.
I reactivated the code where I try to pass the paameters:
IN->CEditor.cpp
GB_METHOD("PrettyPrinter", NULL, CEDITOR_PrettyPrinter,
"[(bSpace)b(iSpace)i(bEvery)b(bEveryWithOutDim)b(bAlignComments)b(bWithInCase)b(bDelEmptyLines)b]"),
// and
/*
bSpace = TRUE
iSpace (from 1 to 9 ) is one Indent
bSpace = FALSE
iSpace is one Editor.TabLength to Indent
or "\t"
bool bEvery = TRUE ; //=> Everything is Indeted
// if bEvery = FALSE => bEveryWithOutDim will be FALSE too
// if bEvery = FALSE => bAlignComments also will be FALSE
bool bEveryWithOutDim = TRUE ; // => Everything is Indeted, but NOT
Declarations
bool bAlignComments = TRUE ; // => Comments are align to the folowing line
bool bWithInCase = TRUE ; // => lines between 'CASE x' will be indented too
// is not implemented yet
bool bDelEmptyLines = TRUE ; // => empty lines will be striped off
*/
BEGIN_METHOD_VOID(CEDITOR_PrettyPrinter, GB_BOOLEAN bSpace; GB_INTEGER iSpace;
GB_BOOLEAN bEvery; GB_BOOLEAN bEveryWithOutDim; GB_BOOLEAN bAlignComments;
GB_BOOLEAN bWithInCase; GB_BOOLEAN bDelEmptyLines)
{
if (MISSING(bSpace))
bSpace = TRUE;
if (MISSING(iSpace))
iSpace = tabSpace();
if (MISSING(bEvery))
bEvery = TRUE;
if (MISSING(bEveryWithOutDim))
bEveryWithOutDim = TRUE;
if (MISSING(bAlignComments))
bAlignComments = TRUE;
if (MISSING(bWithInCase))
bWithInCase = FALSE; // is not implemented yet
else
bWithInCase = FALSE; // is not implemented yet
if (MISSING(bDelEmptyLines))
bDelEmptyLines = TRUE;
if (!bEvery)
{
bEveryWithOutDim = FALSE;
bAlignComments = FALSE;
}
WIDGET->PrettyPrinter(bSpace,iSpace,bEvery,bEveryWithOutDim,bAlignComments,bWithInCase,bDelEmptyLines);
}
END_METHOD
IN->qeditor.h
void PrettyPrinter(bool bSpace,int iSpace,bool bEvery,bool
bEveryWithOutDim,bool bAlignComments,bool bWithInCase,bool bDelEmptyLines);
IN->qeditor.cpp
void QEditor::PrettyPrinter(bool bSpace,int iSpace,bool bEvery,bool
bEveryWithOutDim,bool bAlignComments,bool bWithInCase,bool bDelEmptyLines)
make shows me the following Output:
CEditor.cpp:564:204: macro "BEGIN_METHOD_VOID" passed 2 arguments, but takes
just 1
CEditor.cpp:565: error: syntax error before `{' token
CEditor.cpp:586: error: ISO C++ forbids declaration of `bAlignComments' with
no
type
CEditor.cpp:587: error: parse error before `}' token
CEditor.cpp:588: error: parse error before `*' token
CEditor.cpp:771: error: `CEDITOR_PrettyPrinter' was not declared in this scope
make: *** [CEditor.lo] Error 1
if I change CEditor.cpp:564:204: macro "BEGIN_METHOD_VOID" to "BEGIN_METHOD" I
get that.
CEditor.cpp: In function `void CEDITOR_PrettyPrinter(void*, void*)':
CEditor.cpp:567: error: `bSpace' undeclared (first use this function)
CEditor.cpp:567: error: (Each undeclared identifier is reported only once for
each function it appears in.)
CEditor.cpp:569: error: `iSpace' undeclared (first use this function)
CEditor.cpp:569: error: `tabSpace' undeclared (first use this function)
CEditor.cpp:571: error: `bEvery' undeclared (first use this function)
CEditor.cpp:573: error: `bEveryWithOutDim' undeclared (first use this
function)
CEditor.cpp:575: error: `bAlignComments' undeclared (first use this function)
CEditor.cpp:577: error: `bWithInCase' undeclared (first use this function)
CEditor.cpp:581: error: `bDelEmptyLines' undeclared (first use this function)
make: *** [CEditor.lo] Error 1
Where I'm wrong, I can't find
Amicalement
Charlie
More information about the Devel
mailing list