Clipper On Line • Ver Tópico - Area Fantasma? BASE/1002

Area Fantasma? BASE/1002

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

Moderador: Moderadores

 

Area Fantasma? BASE/1002

Mensagempor fladimir » 19 Abr 2017 16:19

Dá uma olhada no print abaixo (08 areas abertas):

Captura de tela em 2017-04-19 15-01-10.png
8 Areas abertas
Captura de tela em 2017-04-19 15-01-10.png (8.64 KiB) Visualizado 959 vezes


Print antes do erro

Captura de tela em 2017-04-19 14-52-09.png
Resultado do Select "9" Areas


Observe q capturou o retorno do Alias() na variavel Local12 VAZIO, ai eu não entendia isso e ainda não entendo, fiz um Select e retornou 9 q não existe (só tem 8 areas abertas)

Ai qdo chega nesse trecho:

Case Lastkey() = 27
...
Select (local12) //----> Da erro


Alguém saberia dizer o q é isso?

E se eu faço outro select() na sequencia (via debug) retorna a area correta
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Area Fantasma? BASE/1002

Mensagempor fladimir » 19 Abr 2017 16:25

Fiz um teste assim, antes da linha

Local12 := ALIAS()


coloquei a linha:

Local12 := SELECT() // pra mudar do 9 (q não tem) pra correta aberta
Local12 := ALIAS()


Ai não ocorre o problema de capturar VAZIO

Alguém já passou por isso?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Area Fantasma? BASE/1002

Mensagempor aferra » 19 Abr 2017 16:53

acredito que seja a forma que vc está abrindo as areas, veja o exemplo do manual

USE Customer ALIAS Cust

DbSelectArea(10)
USE Invoice ALIAS Inv

? Select() // result: 10
? Select( "Cust" ) // result: 1
? Select( "Inv" ) // result: 10

agora estiver abrindo sem determinar a area ai deve estar ficando algum dbf aberto.
aferra
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 38
Data de registro: 30 Mai 2008 06:55
Cidade/Estado: Ribeirão Preto/SP
Curtiu: 0 vez
Mens.Curtidas: 3 vezes

Area Fantasma? BASE/1002

Mensagempor fladimir » 19 Abr 2017 19:26

Obrigado pelo retorno, mas não seria isso, pq se via Debug vemos no F6 q mostra as Workareas abertas (imagem 1) e tem 8 areas como q um simples Select() depois retorna 9 areas e se mandamos um Alias() retorna "" (vazio)? Não tem lógica.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Area Fantasma? BASE/1002

Mensagempor JoséQuintas » 20 Abr 2017 14:00

Pode ter sentido, se o Harbour abre a próxima área disponível, não precisa necessariamente ser número sequencial.

Costumo fazer o SELECT pelo número e não pelo nome.
Quando preciso pelo nome, uso:

SELECT ( Select( cAlias ) )


Note que existe o comando SELECT e a funcão Select()
A diferença acaba sendo apenas o espaço em branco antes dos parêntesis.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18161
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Area Fantasma? BASE/1002

Mensagempor fladimir » 20 Abr 2017 18:53

pessoal, desculpa.... tinha uma rotina anterior q estava afetando.

Obrigado.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar de usuário

fladimir
Colaborador

Colaborador
 
Mensagens: 2436
Data de registro: 15 Nov 2006 19:21
Curtiu: 28 vezes
Mens.Curtidas: 157 vezes

Area Fantasma? BASE/1002

Mensagempor alxsts » 20 Abr 2017 19:18

Olá!

Desconfiei desde o princípio...

Provavelmente um SELECT 0 à toa. Assim, de todas as áreas abertas, nenhuma estava selecionada. Consequentemente,Alias() retornava em branco...

JoséQuintas escreveu:se o Harbour abre a próxima área disponível, não precisa necessariamente ser número sequencial.

É isto mesmo que ocorre, conforme o manual. Comando USE, cláusula NEW:
NEW opens <xcDatabase> in the next available work area making it the
current work area. If this clause is not specified, <xcDatabase> is
opened in the current work area.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Itamar M. Lins Jr. e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro