Grazie!
E' comunque mia intenzione acquistare la versione #X di Report Pro.
Per Robert: del precedente acquisto di RP2 per VO non ho più la documentazione. Grazie comunque per la disponibilità!
ReportPro2, English and translation: now ok!
Moderator: wriedmann
Nuovo progetto
Gian,
If you cannot "prove" that you have bought ReportPro before, then you can buy a license. The costs are EUR 99 for the binaries only and EUR 299 for the binaries AND the source code,
Robert
If you cannot "prove" that you have bought ReportPro before, then you can buy a license. The costs are EUR 99 for the binaries only and EUR 299 for the binaries AND the source code,
Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
The Netherlands
robert@xsharp.eu
Nuovo progetto
Ho acquistato RP2 for .NET e guardato un po' di esempi e la documentazione disponibile (non specifica per XSharp).
Non sono riuscio a capire come legare le nuove librerie al progetto CAVO e quali modifiche sono necessarie per utilizzare la nuova versione di RP2 nelle app.
Sicuramente è semplice ma non sono riuscito: chi può fornirmi qualche consiglio sulla strada da percorrere?
Grazie in anticipo!
I purchased RP2 for .NET and looked at some examples and documentation available (not specific to XSharp).
I couldn't figure out how to bind the new libraries to the CAVO project and what changes are needed to use the new version of RP2 in apps.
It is certainly simple but I have not succeeded: who can give me some advice on the way to go?
Thanks in advance!
Non sono riuscio a capire come legare le nuove librerie al progetto CAVO e quali modifiche sono necessarie per utilizzare la nuova versione di RP2 nelle app.
Sicuramente è semplice ma non sono riuscito: chi può fornirmi qualche consiglio sulla strada da percorrere?
Grazie in anticipo!
I purchased RP2 for .NET and looked at some examples and documentation available (not specific to XSharp).
I couldn't figure out how to bind the new libraries to the CAVO project and what changes are needed to use the new version of RP2 in apps.
It is certainly simple but I have not succeeded: who can give me some advice on the way to go?
Thanks in advance!
gfb
Nuovo progetto
Hello Gian,
In Rp2dev.chm, Class Overview there's a basic sample:
Include rp2rdd32.dll or lib (I think one is the source version) and it should already work.
I have a more complete sample also supporting the creation of PDF's, selection of trays etc. If you want the sample, leave your mail address, I'll make a few small modification and send it to you.
Dick
In Rp2dev.chm, Class Overview there's a basic sample:
Code: Select all
METHOD PrintReport CLASS StandardShellWindow
LOCAL oReport AS RpReport
LOCAL cJobName,cPrint2Filename,cCaption,cMessage AS STRING
oReport := RpReport{ SELF, "C:RP2BIT.RPT" }
IF oReport:IsValid
cJobName := "My Report"
cPrint2Filename := "REPORT.PRN"
cCaption := "My App Name"
cMessage := "Printing in progress..."
oReport:Print(cJobName,cPrint2Filename,cCaption,cMessage)
ENDIF
oReport:Close()
I have a more complete sample also supporting the creation of PDF's, selection of trays etc. If you want the sample, leave your mail address, I'll make a few small modification and send it to you.
Dick
Nuovo progetto
Hello Dick,
Thank you for your answer.
The problem is that rp2rdd32.dll is not compatible with xSharp: in CAVO 2.6 it works fine but switching to xSharp doesn't work.
My doubts concern which new DLLs I have to insert (in XIDE/Application/Properties/references/Browse/Browse disk for dll files)) for the RP2 classes to be recognized (Classes like RpReport, ecc.)
I attach the image with the DLLs that I tried to insert in XIDE: the reference to RP2's RpReport is still missing. However, I leave you my email and I thank you if you want to send me some examples.
Thank you!
Gfb: gf.brambilla@tiscali.it
Thank you for your answer.
The problem is that rp2rdd32.dll is not compatible with xSharp: in CAVO 2.6 it works fine but switching to xSharp doesn't work.
My doubts concern which new DLLs I have to insert (in XIDE/Application/Properties/references/Browse/Browse disk for dll files)) for the RP2 classes to be recognized (Classes like RpReport, ecc.)
I attach the image with the DLLs that I tried to insert in XIDE: the reference to RP2's RpReport is still missing. However, I leave you my email and I thank you if you want to send me some examples.
Thank you!
Gfb: gf.brambilla@tiscali.it
gfb
Nuovo progetto
Hi Gian,
Indeed the file rp2rdd32.dll is for the Vo version of RP2, not for X#. For X#, you have already used the correct RP2 files in the references. The Xsharp.Rdd.dll and the two XSharp.Macrocompiler dlls you do not need them (they get loaded automatically), so you can remove them, but you need to also add references to XSharp.Core and XSharp.RT.
Also you need to make sure that the "Dialect" (in App properties/General/Dialect) is set to "VO" and the option "App Properties/Compiler/ins USe implicit namespace" is checked, so the compiler automatically resolves the names of the RP2 (and VO SDK) classes.
Easiest way to get a quick start is to actually create a new app, use form the Gallery the "Standard VO MDI" template, which is very similar to that of VO and has all the regular references already added, and then just add the references for RP2 (the X# version of course again).
.
Indeed the file rp2rdd32.dll is for the Vo version of RP2, not for X#. For X#, you have already used the correct RP2 files in the references. The Xsharp.Rdd.dll and the two XSharp.Macrocompiler dlls you do not need them (they get loaded automatically), so you can remove them, but you need to also add references to XSharp.Core and XSharp.RT.
Also you need to make sure that the "Dialect" (in App properties/General/Dialect) is set to "VO" and the option "App Properties/Compiler/ins USe implicit namespace" is checked, so the compiler automatically resolves the names of the RP2 (and VO SDK) classes.
Easiest way to get a quick start is to actually create a new app, use form the Gallery the "Standard VO MDI" template, which is very similar to that of VO and has all the regular references already added, and then just add the references for RP2 (the X# version of course again).
.
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Nuovo progetto
Chris,
pmfji, but i just had a look into gallery - there is "Standard VO Mdi" and "Standard VO Mdi -X#-runtime". At a quick glance the former uses dialect VN instead of Vo and quite some .vh includes, but both reference the X# runtime dlls.
Might cause some confusion
pmfji, but i just had a look into gallery - there is "Standard VO Mdi" and "Standard VO Mdi -X#-runtime". At a quick glance the former uses dialect VN instead of Vo and quite some .vh includes, but both reference the X# runtime dlls.
Might cause some confusion
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Nuovo progetto
Hi Karl,
Ah, right, one of the two has remained by accident. Will remove it, thanks!
Ah, right, one of the two has remained by accident. Will remove it, thanks!
Chris Pyrgas
XSharp Development Team
chris(at)xsharp.eu
XSharp Development Team
chris(at)xsharp.eu
Nuovo progetto
Thanks Chris.Here are the correct RP2 references. Later I try.
-------------------------------
I also have another error which, perhaps, is related to a missing DLL: "... error XS0246: The type or namespace name 'Sub_ProgDial' could not be found (are you missing a using directive or an assembly reference?)"Below is the code that gives the error.
METHOD Timer() CLASS StandardShellWindow
LOCAL oProg as Sub_ProgDial
IF cTimerCopia == "C"
IF nResult > 32
self:Pointer := Pointer{POINTERARROW}
InfoMsg("Copia terminata con successo.", self )
Y_LAST_BAC := Today()
LastSalva()
ELSE
ErrorMsg("Copia non effettuata", "Errore " + Str(nResult) ) // , "Ripristino archivi", SELF )
ENDIF
ELSEIF cTimerCopia == "R"
IF nResult > 32
self:Pointer := Pointer{POINTERARROW}
InfoMsg("Ripristino effettuato.", self) // Nota: serve anche rendere MODAL la prosecuzione del programma
// RESTORE da DBF FILE
IF File(S_DirIni + "LASTAM.DBF")
Y_MODARCH := CToD("") // Siamo sicuri che prende il valore da LAST.DBF
LastRestore()
ELSE // Né Last.MEM né Last.DBF
ErrorMsg("Errore", "Non trovo il file LASTAM.DBF")
self:FileExit() // termina il programma
ENDIF
AggVar() // Imposta variabili di sistema
self:Caption := ("AMMORTAMENTI visual per " + NomeUtente + " Esercizio " + mEsercizio)
FCopy("C:gfbminereportAmmAmmInd.DBF", S_DirIni + "AmmInd.DBF")
// Controlla se gli archivi hanno la struttura aggiornata
// Le due date non corrispondono: avverti, aggiorna gli archivi e salva LAST.DBF
IF Y_MODARCH # G_MODARCH
AggiornaStruct(self) // Provvede anche ad inviare Msg iniziale all'utente
ENDIF
oProg := Sub_ProgDial{self}
oProg:Show() // Ricrea indici: al termine di Sub_ProgDial c'è già il Beep
ELSE
ErrorMsg("Errore","Ripristino archivi non effettuato: errore " + Str(nResult) )
ENDIF
self:Pointer := Pointer{POINTERARROW}
ENDIF
RETURN nil
-------------------------------
I also have another error which, perhaps, is related to a missing DLL: "... error XS0246: The type or namespace name 'Sub_ProgDial' could not be found (are you missing a using directive or an assembly reference?)"Below is the code that gives the error.
METHOD Timer() CLASS StandardShellWindow
LOCAL oProg as Sub_ProgDial
IF cTimerCopia == "C"
IF nResult > 32
self:Pointer := Pointer{POINTERARROW}
InfoMsg("Copia terminata con successo.", self )
Y_LAST_BAC := Today()
LastSalva()
ELSE
ErrorMsg("Copia non effettuata", "Errore " + Str(nResult) ) // , "Ripristino archivi", SELF )
ENDIF
ELSEIF cTimerCopia == "R"
IF nResult > 32
self:Pointer := Pointer{POINTERARROW}
InfoMsg("Ripristino effettuato.", self) // Nota: serve anche rendere MODAL la prosecuzione del programma
// RESTORE da DBF FILE
IF File(S_DirIni + "LASTAM.DBF")
Y_MODARCH := CToD("") // Siamo sicuri che prende il valore da LAST.DBF
LastRestore()
ELSE // Né Last.MEM né Last.DBF
ErrorMsg("Errore", "Non trovo il file LASTAM.DBF")
self:FileExit() // termina il programma
ENDIF
AggVar() // Imposta variabili di sistema
self:Caption := ("AMMORTAMENTI visual per " + NomeUtente + " Esercizio " + mEsercizio)
FCopy("C:gfbminereportAmmAmmInd.DBF", S_DirIni + "AmmInd.DBF")
// Controlla se gli archivi hanno la struttura aggiornata
// Le due date non corrispondono: avverti, aggiorna gli archivi e salva LAST.DBF
IF Y_MODARCH # G_MODARCH
AggiornaStruct(self) // Provvede anche ad inviare Msg iniziale all'utente
ENDIF
oProg := Sub_ProgDial{self}
oProg:Show() // Ricrea indici: al termine di Sub_ProgDial c'è già il Beep
ELSE
ErrorMsg("Errore","Ripristino archivi non effettuato: errore " + Str(nResult) )
ENDIF
self:Pointer := Pointer{POINTERARROW}
ENDIF
RETURN nil
gfb
Nuovo progetto
Gian,
i really doubt, "Sub_ProgDial" to be part of dotNet, Vo X# or RP2 , so mark it, CTRL-Shift-F, "find all" - will list all occurences in this xide-project. If there's none, i'd suspect you wrote this in some other project...
i really doubt, "Sub_ProgDial" to be part of dotNet, Vo X# or RP2 , so mark it, CTRL-Shift-F, "find all" - will list all occurences in this xide-project. If there's none, i'd suspect you wrote this in some other project...
Regards
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)
Karl
(on Win8.1/64, Xide32 2.20, X#2.20.0.3)