GenerirajUuid() - Invalid number of parameters

Nov 19, 2012 at 8:50 AM

Delphi:

s := ccis.GenerirajUuid();

mi javlja grešku "Invalid nuber of parameters" ? Pa zar se ova metoda ne poziva bez parametara?

Coordinator
Nov 19, 2012 at 8:55 AM

Da, ova se metoda poziva bez parametara, nemam ideju zašto se javlja greška :)

Nov 19, 2012 at 9:42 AM

Ista greška mi je za: DohvatiStatusCisServisa()

Nov 19, 2012 at 8:30 PM

"Method GenerirajUuid not supported by automation object" - jel moguće da metoda nije "expozana" ?

Coordinator
Nov 20, 2012 at 6:52 AM

Ne - mislim da je nešto kod tebe: http://fiskalizacija.codeplex.com/discussions/400879

Sorry kaj ti ne mogu konretnije pomoći, no, mi nemamo iskustva ne Delphi-u...

Probaj krenuti od osnovnih COM primjera, pozivanjem iz VB Script-a, to će ti uzeti 5 minuta a tako ćeš ustanoviti da li je sve ok na tvom PC-u sa registracijom COM-a i to će te usmjeriti u kojem smjeru da dalje kopaš. Primjeri su ti ovdje: http://fiskalizacija.codeplex.com/wikipage?title=Potpisivanje%20i%20slanje%20pozivanjem%20COM%20DLL-a

Nov 20, 2012 at 7:06 AM

Imaš u Delphi-ju funkciju za UID. (u IDE editoru možeš pritisnuti <ctrl>+<shift>+G i dobiješ guid za probu)

var Uid: TGuid;
     Rez: HResult;
     uuid:string;
begin
 Rez := CreateGuid(Uid);
 if rez = S_OK then
   uuid:=LowerCase(copy(GuidToString(Uid),2,36));

Nov 20, 2012 at 7:42 AM

Jučer sam downloadao C# Solution,

i u COM projekt promijenio ime PosaljiEcho() u PosaljiEcho2(). Desni klik i rebuild i uzeo te dll-ove.

Napravio sam u Delphi ReagAsm /Uninstall. Pa onda /tlb sa novim dll-ovima.

Učitao TLB ponovo u Delphi i Delphi ponovo radi sa starim imenom metoda, znači ne poznaje PosaljiEcho2()!

 

Gdje griješim, da li je dovoljno izgenerirati novi DLL iz C# za COM ili za to postoji posebna procedura?

 

Očigledno mi negdje ne radi dobro RegAsm /Uninstall i /TLB, ha?  

Nov 20, 2012 at 7:45 AM

Evo ti rješenje za UUID

  function CIS_UUID() : UTF8String;   

     var Guid: TGUID;   

       begin     

        OleCheck(CreateGUID(Guid));     

        Result := LowerCase(Copy(GUIDToString(Guid),2,length(GUIDToString(Guid))-2));   

      end;

Nov 20, 2012 at 8:18 AM

Ne treba mi rješenje za UUID, Hvala.

Ja imam problema sa pozivanjem nekih metoda iz Raverus.FiskalizacijaDEV.COM.dll

I koliko sam shvatio, prvi puta kad sam registrirao sa RegAsm /tlb on kao da mi je negdje cashirao metode na računalu. I sada kad nešto promijenim u Raverus.FiskalizacijaDEV.COM.dll, dodam novu metodu i slično ja to ne mogu pozvati.

Ja napravim RegAsm /uninstall i nakon toga registriram novi Raverus.FiskalizacijaDEV.COM.dll

Ali on mi i dalje vidi samo metode od one prve registracije. DLL hell :-) 

 

Coordinator
Nov 20, 2012 at 8:22 AM

Izbriši iz Registry-a sve gdje ti se spominje raverus.fisk...dll, pazi da ne pobrišeš nešto povrh toga, i nakon toga pokušaj ponovo napraviti registraciju sa regasm.

Nov 20, 2012 at 8:52 AM

Probao sam sad i to. I dalje vidim samo stare metode. Negdje kešira :-(

Nov 20, 2012 at 9:38 AM

Ja sam kriv!

Ostao mi dll pored Exe-a i drugom folderu. Sve je ok!