TableMaker

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

TableMaker

Mensagem por Pablo César »

Disponibilizei um aplicativo para auxiliar na confecção do Table utilizado aqui entre tags, na seção de Downloads em: Aqui

É definido o numero de coluna e de linhas e após preenchido é gerado, visualizado e disponibilizado na área de transferência, pronto para ser colado no tópico aqui no fórum.

Mas estou com um probleminha, que ainda não consegui resolver. Após gera, visualizar e fechar a janela de visualização, se eu quiser continuar outra tabela, dá um erro grave:
Tela66.PNG
Alguém saberia me dizer o que pode estar acontecendo com o ActiveX ? Talvez não esteja fechando adequadamente ? Ou faltando algum comando para encerrar direito a sessão ? Agradeço qualquer dica.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

TableMaker

Mensagem por rochinha »

Amiguinho,

Estou a disposição para debater sobre o assunto, Activex e HTML muito me interessam.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

TableMaker

Mensagem por Pablo César »

Oi Rochinha. Pois é, tive problemas com a primeira versão do TableMaker, pois após a primeira visualização do arquivo html que o fazia sem problemas (um pouco lento só), mas quando quando clicava para gerar pela segunda vez, dava esse erro que mostrei na minha mensagem anterior. Parece que o arquivo html, não era liberado, mesmo utilizando DestroyWindow( ::hWnd ) e AtlAxWinEnd() das classes no ATxPrg.prg. Afirmo que não liberava o arquivo html, porque mesmo após carregá-lo eu não conseguia deletar o arquivo, já que é um arquivo temporário. Então o jeito que eu dei, foi abri-lo no navegador e ai sim funcionou beleza, tanto foi mais rápido como consegue deletar o arquivo Temp.html.

Deixo em anexo a primeira versão, se quiser dar uma olhada. E ficarei atento aos seus comentários sobre o tema.
Anexos
TableMaker.rar
Primeira versão
(760.13 KiB) Baixado 281 vezes
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

TableMaker

Mensagem por rochinha »

Amiguinho,

Publique a vari[avel oWActiveX.
Coloque no evento NOINIT da window principal o trecho:

Código: Selecionar todos

oWActiveX := TActiveX():New( "Form_3", "Shell.Explorer.2" , 00 , 00 , ;
             GetProperty( "Form_3" , "width" ) - 05 , GetProperty( "Form_3" , "height" ) - 80 )
Desabilite em fOpenActivex() as linhas como segue:

Código: Selecionar todos

Function fOpenActivex()
Local cCurFolder:=StrTran(GetCurrentFolder(), '\', '/' )

WaitWindow("Carregando a tabela...", .T. )
//oWActiveX := TActiveX():New( "Form_3", "Shell.Explorer.2" , 00 , 00 , ;
//             GetProperty( "Form_3" , "width" ) - 05 , GetProperty( "Form_3" , "height" ) - 80 )
oActiveX := oWActiveX:Load()
oActiveX:Navigate( "file:///"+cCurFolder+"/Temp.html" )
WaitWindow()
Contando()
Return Nil
Pelo fato de estar instanciando toda vez o mesmo controle voce pode forçar ao aumento de carga ou chamadas.

Ao abrir o controle pelo INIT de seu form voce terá o mesmo sempre ativo enquanto trabalha.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

TableMaker

Mensagem por Pablo César »

Grande Rochinha escreveu:Pelo fato de estar instanciando toda vez o mesmo controle voce pode forçar ao aumento de carga ou chamadas.

Ao abrir o controle pelo INIT de seu form voce terá o mesmo sempre ativo enquanto trabalha.
Isso mesmo ! Deu certo, só que tive que fazer do meu jeito. Porque abrindo o ActiveX no inicio, o Form_3 ainda não está definido e daria muito trabalho para contornar. Então fiz com que executasse apenas uma vez, assim:

Código: Selecionar todos

Function fOpenActivex()
Local cCurFolder:=StrTran(GetCurrentFolder(), '\', '/' )

WaitWindow("Carregando a tabela...", .T. )
If nVez=0 // esecuta apenas uma vez
   oWActiveX := TActiveX():New( "Form_3", "Shell.Explorer.2" , 00 , 00 , ;
                GetProperty( "Form_3" , "width" ) - 05 , GetProperty( "Form_3" , "height" ) - 80 )
   nVez:=nVez+1
Else
   Adjust() // aqui ajeita o tamanho da janela
Endif			 
oActiveX := oWActiveX:Load()
oActiveX:Navigate( "file:///"+cCurFolder+"/Temp.html" )
WaitWindow()
Contando()
Return Nil
E depois na saída do programa, executo: oWActiveX:Release() para fechar.

Obrigado, colega ! Fica como experiência.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Responder