VisualFoxPro2Fiskalizacija.dev primjer

Nov 8, 2012 at 12:44 PM
Edited Nov 25, 2012 at 4:31 PM

U folderu za test morate imati slijedeće datoteke :

  • za DotNetBridge : ClrHost.dll, wwDotNetBridge.dll, wwdotnetbridge.prg, wwutils.prg
  • za FiskalizacijaDev : Raverus.FiskalizacijaDEV.dll, Raverus.FiskalizacijaDEV.COM.dll, Raverus.FiskalizacijaDEV.XmlSerializers.dll
  • Testna datoteka : sadržaj joj je dole prikazan a neka ima .PRG extenziju.
    Nju pokrenite iz vfp command prozora s "do naziv.prg"

Dakle, VFP9 pristupa .NET assembly-u direktno, bez registracije COM objekta, ALI TO NE ZNAČI da možete direktno koristiti metode iz "Raverus.FiskalizacijaDEV.dll", nego iz "Raverus.FiskalizacijaDEV.COM.dll".

Zašto? Pa zato jer npr. metoda "PosaljiEcho" iz "FiskalizacijaDEV" vraca OBJEKT tipa "XmlDocument" kojega VFP9 ne kuži, dok ista metoda pozvana iz "FiskalizacijaDEV.COM", vraca "cis.PosaljiEcho(poruka).InnerXml", odnosno običan string,  što naravno jednostavno konzumirate u VFPu.

Nisam isprobavao više od dole navedenog, i neću. S tim se vi dalje igrajte. Dokumentacija za Rickov "wwDotNetBridge", je ovdje : http://www.west-wind.com/wwDotnetBridge.aspx

 

CLEAR
DO wwutils

do wwDotNetBridge
LOCAL loBridge as wwDotNetBridge
loBridge = CreateObject("wwDotNetBridge","V2")

loBridge.LoadAssembly("Raverus.FiskalizacijaDEV.COM.dll")
IF loBridge.lError
   ? loBridge.cErrorMsg
ENDIF

oCis = loBridge.CreateInstance("Raverus.FiskalizacijaDEV.COM.CentralniInformacijskiSustav")

cTest = oCis.TestCOM("vrati")
?"TestCOM : " + cTest

? "-------"
VraceniXml = loBridge.InvokeMethod(oCis, "PosaljiEcho", "Moja poruka")
?VraceniXml