Clique abaixo para nos ajudar
Conectar-se

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
10 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 10 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
TRY BEGIN E FLOCK()

17/4/2017, 10:32 por AJC

Pessoal estou tendo alguns problemas de gravação em rede, estou usando
try begin, mas vi algo na …

Comentários: 0

Exportar Dados Campo Memo Tabela DBF

10/4/2017, 10:28 por fcampos

Olá bom dia.

Estou tentando exportar os dados de algumas tabelas em formato dbf pelo foxpro.
O …

Comentários: 2

Função EVL()

8/4/2017, 12:18 por Clebervfp

Bom dia a todos.
Vim compartilhar de uma Função do próprio VFP que me benefício muito.
Função …

Comentários: 0

COMO BLOQUEAR REGISTRO OU TABELA NO VISUAL FOXPRO PARA GRAVAÇÃO EM REDE

3/4/2017, 10:29 por AJC

Pessoal estou tendo um problema que acontece sempre busco na minha tabela de clientes o ultimo …

Comentários: 2

Controlar Scanner Twain

31/3/2017, 17:31 por Kleber R Bento

Estou usando o EZTW32.DLL para criar uma ferramenta que escaneia e gera PDF. Porém com esses …

Comentários: 0

Estatísticas
Temos 7064 usuários registrados
O último usuário registrado atende pelo nome de Rpedrozo

Os nossos membros postaram um total de 48 mensagens em 25 assuntos

Utilizar comando createobjectex

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Em curso Utilizar comando createobjectex

Mensagem por Nelson Arcas em 12/11/2010, 07:14

Pessoal, boa bom dia

Estou tentando utilizar um componete "DLL criada pelo Visual Fox 9.0" que está registrado em outra máquina "DESENV01" e configurada como componente, quando tento criar um objeto pelo função "Createobjectex" por uma outra maquina é retornada uma mensagem de acesso negado. Estou utilizando nessa maquina 2 da seguinte maneira.

Estou tentando chamar pela maquina "DESENV02"
Código:
objteste=createobjectex("{86135D4E-C842-46B6-BA64-FADD9DCE056C}","DESENV01")

Retorna o erro abaixo.
OLE error code 0x800700005: Acesso Negado.

A máquina "DESENV01" é Win7 - Ultimate igual a maquina "DESENV02", ambas fiz o logon como Administrador e o erro continua, alguem poderia passar alguma dica ou falar se estou fazendo algo errado.
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Marcos Guedes em 12/11/2010, 11:06

Como você criou a DLL em VFP?
Utilizando a seguinte sintaxe?

Código:
DEFINE CLASS nomeClasseDll AS CUSTOM OLEPUBLIC
*!* Seu código
ENDDEFINE

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Nelson Arcas em 12/11/2010, 12:24

Olá Marcos
Segue abaixo o codigo como é um teste ainda pra projetos futuros estou realizando um teste antes.
Código:

DEFINE CLASS teste AS CUSTOM OLEPUBLIC
   PROCEDURE cria_arq AS void
      PARAMETERS larquivo
      LOCAL lret
      lret=.F.
      IF !EMPTY(larquivo)
         CREATE TABLE c:\lixo\testedll (codigo N(5), descricao c(50))
         CLOSE DATABASES
         IF FILE ("c:\LIXO\testedll.DBF")
            lret=.T.
         ENDIF
      ENDIF
      RETURN (lret)
   ENDPROC
ENDDEFINE
Grato
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Marcos Guedes em 12/11/2010, 14:19

então substitua:
Código:
objteste=createobjectex("{86135D4E-C842-46B6-BA64-FADD9DCE056C}","DESENV01")

Para o seguinte modelo:
Código:
objteste = NEWOBJECT('NOME_CLASSE',SYS(5)+CURDIR()+'nomeDll.dll')

Obs.: Coloque a DLL na pasta raíz de sua aplicação.

Resolve?

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Nelson Arcas em 12/11/2010, 15:35

Marcos
A ideia que a outra maquina realize o processo, se eu colocar da maneira abaixo vai ser executado todo o processo na maquina local.
Código:

objteste = NEWOBJECT('NOME_CLASSE',SYS(5)+CURDIR()+'nomeDll.dll')
Seria possivel acessar um exe de uma outra estação onde eu consiga passar somente parametros e ele faça o processamento e devolva uma resposta?
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Nelson Arcas em 13/12/2010, 13:38

Pessoal, será que alguém teria uma ideia de como faço para executar um arquivo exe que está em outra estação esperar esses fazer o processamento e receber uma resposta
avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso tenta ai

Mensagem por m@r<3|o em 13/12/2010, 15:03

Código:
=CreateProcess(GETENV("WINDIR")+"\NOTEPAD.EXE","",1,.T.,GETENV("WINDIR"))
=MESSAGEBOX("VOLTOU!!!")
RETU
*
FUNCTION
Createprocess(lcExe,lcCommandLine,lnShowWindow,llWaitForCompletion,diretorio)
LOCAL hProcess, cProcessInfo, cStartupInfo
DECLARE INTEGER CreateProcess IN kernel32 as _CreateProcess;
    STRING  lpApplicationName,;
    STRING  lpCommandLine,;
    INTEGER  lpProcessAttributes,;
    INTEGER  lpThreadAttributes,;
    INTEGER  bInheritHandles,;
    INTEGER  dwCreationFlags,;
    INTEGER  lpEnvironment,;
    STRING  lpCurrentDirectory,;
    STRING  lpStartupInfo,;
    STRING @ lpProcessInformation
cProcessinfo = REPLICATE(CHR(0),128)
cStartupInfo = GetStartupInfo(lnShowWindow)
IF !EMPTY(lcCommandLine)
  lcCommandLine = ["] + lcExe + [" ]+ lcCommandLine
ELSE
  lcCommandLine = ""
ENDIF
lnResult =  _CreateProcess(lcExe,lcCommandLine,0,0,1,0,0,;
                         
diretorio,cStartupInfo,@cProcessInfo)
lhProcess = CHARTOBIN( SUBSTR(cProcessInfo,1,4) )
IF llWaitForCompletion
  #DEFINE WAIT_TIMEOUT 0x00000102
  DECLARE INTEGER WaitForSingleObject IN kernel32.DLL ;
        INTEGER hHandle, INTEGER dwMilliseconds
  DO WHILE .T.
      *** Update every 100 milliseconds
      IF WaitForSingleObject(lhProcess, 100) != WAIT_TIMEOUT
          EXIT
        ELSE
          DOEVENTS
        ENDIF
  ENDDO
ENDIF
DECLARE INTEGER CloseHandle IN kernel32.DLL ;
        INTEGER hObject
CloseHandle(lhProcess)
RETU(IIF(lnResult=1,.t.,.f.))
*
FUNCTION getStartupInfo(lnShowWindow)
LOCAL lnFlags
* creates the STARTUP structure to specify main window
* properties if a new window is created for a new process
IF EMPTY(lnShowWindow)
  lnShowWindow = 1
ENDIF
*| typedef struct _STARTUPINFO {
*| DWORD cb; 4
*| LPTSTR lpReserved; 4
*| LPTSTR lpDesktop; 4
*| LPTSTR lpTitle; 4
*| DWORD dwX; 4
*| DWORD dwY; 4
*| DWORD dwXSize; 4
*| DWORD dwYSize; 4
*| DWORD dwXCountChars; 4
*| DWORD dwYCountChars; 4
*| DWORD dwFillAttribute; 4
*| DWORD dwFlags; 4
*| WORD wShowWindow; 2
*| WORD cbReserved2; 2
*| LPBYTE lpReserved2; 4
*| HANDLE hStdInput; 4
*| HANDLE hStdOutput; 4
*| HANDLE hStdError; 4
*| } STARTUPINFO, *LPSTARTUPINFO; total: 68 bytes
#DEFINE STARTF_USESTDHANDLES 0x0100
#DEFINE STARTF_USESHOWWINDOW 1
#DEFINE SW_HIDE 0
#DEFINE SW_SHOWMAXIMIZED 3
#DEFINE SW_SHOWNORMAL 1
lnFlags = STARTF_USESHOWWINDOW
RETURN binToChar(80) +;
    binToChar(0) + binToChar(0) + binToChar(0) +;
    binToChar(0) + binToChar(0) + binToChar(0) + binToChar(0) +;
    binToChar(0) + binToChar(0) + binToChar(0) +;
    binToChar(lnFlags) +;
    binToWordChar(lnShowWindow) +;
    binToWordChar(0) + binToChar(0) +;
    binToChar(0) + binToChar(0) + binToChar(0) + REPLICATE(CHR(0),30)
*
FUNCTION BinToChar(lnValue)
****************************************
***  Function: Creates a DWORD value from a number
***      Pass: lnValue - VFP numeric integer (unsigned)
***    Return: binary string
************************************************************************
Local byte(4)
If lnValue < 0
    lnValue = lnValue + 4294967296
EndIf
byte(1) = lnValue % 256
byte(2) = BitRShift(lnValue, 8) % 256
byte(3) = BitRShift(lnValue, 16) % 256
byte(4) = BitRShift(lnValue, 24) % 256
RETURN Chr(byte(1))+Chr(byte(2))+Chr(byte(3))+Chr(byte(4))
*
FUNCTION BinToWordChar(lnValue)
****************************************
***  Function: Creates a DWORD value from a number
***      Pass: lnValue - VFP numeric integer (unsigned)
***    Return: binary string
************************************************************************
RETU(Chr(MOD(m.lnValue,256)) + CHR(INT(m.lnValue/256)))
*
FUNCTION CharToBin(lcBinString,llSigned)
***  Function: Binary Numeric conversion routine.
***            Converts DWORD or Unsigned Integer string
***            to Fox numeric integer value.
***      Pass: lcBinString -  String that contains the binary data
***            llSigned    -  if .T. uses signed conversion
***                          otherwise value is
unsigned (DWORD)
***    Return: Fox number
************************************************************************
LOCAL m.i, lnWord
lnWord = 0
FOR m.i = 1 TO LEN(lcBinString)
 lnWord = lnWord + (ASC(SUBSTR(lcBinString, m.i, 1)) * (2 ^ (8 * (m.i - 1))))
ENDFOR
IF llSigned AND lnWord > 0x80000000
  lnWord = lnWord - 1 - 0xFFFFFFFF
ENDIF
RETU(lnWord)

m@r<3|o
Participante Assíduo
Participante Assíduo


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Nelson Arcas em 14/12/2010, 18:54

Obrigado, voi realizar alguns teste e verificar se atende o que estou precisando

avatar
Nelson Arcas
Participa Bastante
Participa Bastante


Voltar ao Topo Ir em baixo

Em curso Re: Utilizar comando createobjectex

Mensagem por Marcos Guedes em 1/1/2011, 15:18

up!

_________________
Marcos Guedes - Programador e desenvolvedor Web.


Visite o nosso portal:
[Você precisa estar registrado e conectado para ver este link.]

Marcos Guedes
Webmaster
Webmaster


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum