Salve, sto smanettando con il VODbServerEditor in ambiente XIDE e si verifica questa situazione anomala:
- importo un file DBF (cui è associato un indice CDX)
- salvo il codice generato (e fin qui tutto bene)
- procedo poi con la compilazione ma mi da una serie di Warning XS9032 - This entity type cannot return a value. Return value ignored.
questo accade nelle istruzioni RETURN per gli ASSIGN di tutti i campi del mio database (sotto un codice di esempio):
ASSIGN CODICE(uValue )
RETURN SELF:FieldPut(#CODICE, uValue)
Come posso risolvere questa problematica?
Saluti
Francesco
Warning sugli ASSIGN generati dal VODbServerEditor
Moderator: wriedmann
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Francesco,
This is the same as in VO, the code is generated based on the file CAVOFED.TPL. Please locate this file (it will be somewhere inside the folder of your Project, and if it's not there, it should be in XIDEConfig), edit it and change the entry at the end from
[DBSERVER]
ASSIGN %hlname%...
RETURN SELF:FieldPut(#%hlname%, uValue)
to
[DBSERVER]
ASSIGN %hlname%...
SELF:FieldPut(#%hlname%, uValue)
Then delete the ASSIGNs from the code, and the next time you save the DBServer, they will be generated again without the RETURN.
.
This is the same as in VO, the code is generated based on the file CAVOFED.TPL. Please locate this file (it will be somewhere inside the folder of your Project, and if it's not there, it should be in XIDEConfig), edit it and change the entry at the end from
[DBSERVER]
ASSIGN %hlname%...
RETURN SELF:FieldPut(#%hlname%, uValue)
to
[DBSERVER]
ASSIGN %hlname%...
SELF:FieldPut(#%hlname%, uValue)
Then delete the ASSIGNs from the code, and the next time you save the DBServer, they will be generated again without the RETURN.
.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Warning sugli ASSIGN generati dal VODbServerEditor
Ciao Chris,
perfetto, ora il WARNING sugli ASSIGN è sparito tuttavia c'è un'altra segnalazione sulla variabile "lTemp" nel CONSTRUCTOR della mia CLASSE Clienti derivata da DBserver:
CLASS Clienti INHERIT DBServer
INSTANCE cDBFPath := "C:UsersUtenteDesktopchicco d'oro" AS STRING
INSTANCE cName := "CLIENTI.DBF" AS STRING
INSTANCE xDriver := "DBFcdx" AS USUAL
INSTANCE lReadOnlyMode:= FALSE AS LOGIC
INSTANCE lSharedMode := TRUE AS USUAL
INSTANCE nOrder := 0 AS INT
// User code starts here (DO NOT remove this line) ##USER##
CONSTRUCTOR(cDBF, lShare, lRO, xRdd)
LOCAL oFS AS FILESPEC
LOCAL i AS DWORD
LOCAL nFields AS DWORD
LOCAL aFieldDesc AS ARRAY
LOCAL aIndex AS ARRAY
LOCAL nIndexCount AS DWORD
LOCAL oFSIndex AS FILESPEC
LOCAL nPos AS DWORD
LOCAL lTemp AS LOGIC <=========================
LOCAL oFSTemp AS FILESPEC
in fase di compilazione si presenta il messaggio:
warning XS0165: Use of unassigned local variable 'lTemp'
l'errore si verifica in questo ciclo:
FOR i:=1 UPTO nIndexCount
oFSIndex := FileSpec{ aIndex[DBC_INDEXNAME] }
oFSIndex:Path := SELF:cDBFPath
IF lTemp .AND. !Empty( aIndex[DBC_INDEXPATH] ) <============
oFSIndex:Path := aIndex[DBC_INDEXPATH]
ENDIF
IF oFSIndex:Find()
lTemp := SELF:SetIndex( oFSIndex )
ENDIF
NEXT
Ti torna questo problema?
perfetto, ora il WARNING sugli ASSIGN è sparito tuttavia c'è un'altra segnalazione sulla variabile "lTemp" nel CONSTRUCTOR della mia CLASSE Clienti derivata da DBserver:
CLASS Clienti INHERIT DBServer
INSTANCE cDBFPath := "C:UsersUtenteDesktopchicco d'oro" AS STRING
INSTANCE cName := "CLIENTI.DBF" AS STRING
INSTANCE xDriver := "DBFcdx" AS USUAL
INSTANCE lReadOnlyMode:= FALSE AS LOGIC
INSTANCE lSharedMode := TRUE AS USUAL
INSTANCE nOrder := 0 AS INT
// User code starts here (DO NOT remove this line) ##USER##
CONSTRUCTOR(cDBF, lShare, lRO, xRdd)
LOCAL oFS AS FILESPEC
LOCAL i AS DWORD
LOCAL nFields AS DWORD
LOCAL aFieldDesc AS ARRAY
LOCAL aIndex AS ARRAY
LOCAL nIndexCount AS DWORD
LOCAL oFSIndex AS FILESPEC
LOCAL nPos AS DWORD
LOCAL lTemp AS LOGIC <=========================
LOCAL oFSTemp AS FILESPEC
in fase di compilazione si presenta il messaggio:
warning XS0165: Use of unassigned local variable 'lTemp'
l'errore si verifica in questo ciclo:
FOR i:=1 UPTO nIndexCount
oFSIndex := FileSpec{ aIndex[DBC_INDEXNAME] }
oFSIndex:Path := SELF:cDBFPath
IF lTemp .AND. !Empty( aIndex[DBC_INDEXPATH] ) <============
oFSIndex:Path := aIndex[DBC_INDEXPATH]
ENDIF
IF oFSIndex:Find()
lTemp := SELF:SetIndex( oFSIndex )
ENDIF
NEXT
Ti torna questo problema?
- Attachments
-
- Cattura1.JPG (56.69 KiB) Viewed 2254 times
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Francesco,
You can fix this also. Please open CAVODED.TPL this time, and in the section:
add an assignment for the local declaration of lTemp:
Now also this warning should go away!
.
You can fix this also. Please open CAVODED.TPL this time, and in the section:
Code: Select all
[INIT]
METHOD Init(cDBF, lShare, lRO, xRdd) CLASS %classname%
LOCAL oFS AS FILESPEC
LOCAL i AS DWORD
LOCAL nFields AS DWORD
LOCAL aFieldDesc AS ARRAY
LOCAL aIndex AS ARRAY
LOCAL nIndexCount AS DWORD
LOCAL oFSIndex AS FILESPEC
LOCAL nPos AS DWORD
LOCAL lTemp AS LOGIC
LOCAL oFSTemp AS FILESPEC
...
Code: Select all
LOCAL lTemp := FALSE AS LOGIC
.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Chris,
PMFJI: maybe there should be an option in XIDE for global template files like in VO, instead of putting them in every application.
And XIDE should install versions that are compatible with the X# compiler.
If anyone has changed them in VO it would be much easier to make these changes then again in XIDE.
Wolfgang
PMFJI: maybe there should be an option in XIDE for global template files like in VO, instead of putting them in every application.
And XIDE should install versions that are compatible with the X# compiler.
If anyone has changed them in VO it would be much easier to make these changes then again in XIDE.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Wolfgang,
Yes, you can put the templates in XIDEConfig and they will become available for all projects and applications. But you can also put different templates inside a project and those will then override the global ones, for this project.
About installing them together with XIDE, I feel uneasy about doing this, because those files are from another product, so I'd like avoiding them including them in XIDE. But it's very easy to copy them manually from the VO folder and also VOXporter does this when you port an app.
.
Yes, you can put the templates in XIDEConfig and they will become available for all projects and applications. But you can also put different templates inside a project and those will then override the global ones, for this project.
About installing them together with XIDE, I feel uneasy about doing this, because those files are from another product, so I'd like avoiding them including them in XIDE. But it's very easy to copy them manually from the VO folder and also VOXporter does this when you port an app.
.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Chris,
since X# requires adapted template files XIDE (and also the VS integration) should supply them, at least optionally.
If you feel uneasy to install them, maybe it could be an option to copy them optionally from a VO installation if not already present and make then the required changes.
Personally I think that would help a lot the people that migrates from VO - and I don't think many people has changed any of these template files other than the cavowed.inf.
Wolfgang
since X# requires adapted template files XIDE (and also the VS integration) should supply them, at least optionally.
If you feel uneasy to install them, maybe it could be an option to copy them optionally from a VO installation if not already present and make then the required changes.
Personally I think that would help a lot the people that migrates from VO - and I don't think many people has changed any of these template files other than the cavowed.inf.
Wolfgang
Wolfgang Riedmann
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Meran, South Tyrol, Italy
wolfgang@riedmann.it
https://www.riedmann.it - https://docs.xsharp.it
Warning sugli ASSIGN generati dal VODbServerEditor
Hi Wolfgang,
I understand you, but I'd rather avoid having to deal with anything related to legal matters...
Also please remember that those messages from the compiler are only warnings, not errors. And those warnings will appear when you port an app, no matter if you have adjusted the templates or not, they will be reported because they will already exist in the VO code itself. Or actually most of them will not be reported at all, because VOXporter disables them (the ones about missing initialization) by default
.
I understand you, but I'd rather avoid having to deal with anything related to legal matters...
Also please remember that those messages from the compiler are only warnings, not errors. And those warnings will appear when you port an app, no matter if you have adjusted the templates or not, they will be reported because they will already exist in the VO code itself. Or actually most of them will not be reported at all, because VOXporter disables them (the ones about missing initialization) by default
.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Warning sugli ASSIGN generati dal VODbServerEditor
Ciao Chris,
grazie; ora la compilazione va a buon fine.
Saluti
Francesco
grazie; ora la compilazione va a buon fine.
Saluti
Francesco