Função similar

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Função similar

Mensagem por MARCELOG »

Olá pessoal,
qual a função do harbour que substitui a função createobject do xharbour?

Obrigado.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função similar

Mensagem por alxsts »

Olá!

Creio que não existe diferença. O código abaixo rodou em xHarbour:

Código: Selecionar todos

#include "ado.ch"

PROCEDURE Main()

   LOCAL oCn, oRs, oErr

   AltD()   

   TRY
      oCn := CreateObject( "ADODB.Connection" )

      oCn:ConnectionString := "Provider=OraOLEDB.Oracle;Data Source=XE;User ID=system;Password=abc100;FetchSize=100;CacheType=Memory;"

      oCn:Open()

      oRs := CreateObject("ADODB.RecordSet")

      With Object oRs
         :cursorType := adOpenDynamic 
         :activeConnection( oCn )
         :cursorLocation = adUseServer
         :maxRecords = 100000
         :cacheSize = 100
         :source := "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME  FROM HR.Countries"

         //  ou troque as linhas:
         //    oRs:activeConnection( oCn )
         //    oRs:source := "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME  FROM HR.Countries"
         //  por:
         //    oRs:open( "SELECT ROWNUM AS REC, COUNTRY_ID, COUNTRY_NAME  FROM HR.Countries", oCn ) 

         :open()
 
         :moveFirst()

         CLS

         Do While ! :eof()
           QOut( Transform( :Fields( "rec" ):value, "999" ), "-", ;
                 :Fields( "Country_id" ):Value, "-", ;
                 :Fields( "Country_Name" ):Value ) 
           :MoveNext()
         ENDDO

         :Close()
         oRs := Nil
      End   

      oCn:Close()
      oCn := Nil
   
   CATCH oErr
      Alert( "Error: " + oErr:Operation + " -> " + oErr:Description )
   END

   RETURN   
//--------------------------------------------------------------------------------
[]´s
Alexandre Santos (AlxSts)
MARCELOG
Usuário Nível 4
Usuário Nível 4
Mensagens: 546
Registrado em: 15 Mar 2005 16:54
Localização: Divinópolis/MG

Função similar

Mensagem por MARCELOG »

Olá,
obrigado por responder.
Todavia, chamo essa função no harbour, compilado com o mingw, dá erro.

MarceloG
Água mole em pedra dura tanto bate que até espirra!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Função similar

Mensagem por alxsts »

Olá!

Desculpe Marcelo, entendi erradamente a questão... pensei que o problema fosse em xHarbour.

Creio que em Harbour, deva-se usar a função Win_OleCreateObject(). Um amigo do fórum que entende bastante de Harbour é o Itamar Lins.

Peguei este exemplo que ele postou, através da busca do fórum: Importando de planilha Excel - nome da planilha, Acho que tem que colocar algum #Include... verifique.
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Dr.Microso
Usuário Nível 3
Usuário Nível 3
Mensagens: 173
Registrado em: 12 Jan 2009 21:26
Localização: Belo Horizonte, MG

Função similar

Mensagem por Dr.Microso »

Olá!
Veja aqui.

Um abraço!
"O que domina aos outros é forte; o que domina a si mesmo é poderoso." [ Lao-Tsé - séc VII AC]
"É tipo uma Alquimia... Porções de código viram soluções que mutam-se fisicamente em sorrisos e outros, como o notebook que uso para escrever estas linhas..." dr.microso@hotmail.com
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7929
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Função similar

Mensagem por Itamar M. Lins Jr. »

Ola!
Eu não sei qual versão estás usando, mas apartir desse commit o Przmek corrigiu algumas coisas e adicionou outras compatibilidades com o Xhb.
2011-08-27 12:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbwin/olecore.c
* few cleanups in recently added functions

* harbour/contrib/xhb/xhb.hbp
* harbour/contrib/xhb/xhb.hbx
+ harbour/contrib/xhb/xhbprn.c
* added xHarbour windows printer functions.

* harbour/contrib/xhb/xhb.hbp
* harbour/contrib/xhb/xhb.hbx
+ harbour/contrib/xhb/xhbole.prg
* added xHarbour compatible TOLEAUTO class and OLE functions:
CreateObject(), GetActiveObject(), CreateOLEObject()
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Responder