FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Variables públicas
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Variables públicas
Posted: Thu Nov 11, 2010 04:10 AM

Amigos del foro

Estoy llamando a una funcion desde la entrada de mi aplicación (desde la creación del menú)

La funcion que llamo es

Function CreaFac()
MEMVAR calle
PUBLIC calle := "Av. de los Pinos"



VerDatos()


RETURN NIL

VerDatos()
MsgInfo( calle )



RETURN NIL


Se supone que al crear variables publicas las puedo ver en cualquier parte de mi aplicacion, entonces porque cuando compilo
me aparecen mensajes de ambiguos reference ( en este caso en la linea de MsgInfo )

Si alguien me pudiera ayudar

Saludos

Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com
Posts: 408
Joined: Fri Jan 29, 2010 08:14 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 05:20 AM

Hola Juan:

Declarala en en fuente principal de la aplicacion antes de Main().

#INCLUDE "FiveWin.ch"

MEMVAR callee
/------------------------------------------------------------------------------/
Function Main()
/------------------------------------------------------------------------------/

Un saludo
JLL

Libreria: FWH/FWH1109 + Harbour 5.8.2 + Borland C++ 5.8.2
Editor de Recursos: PellecC
ADA, OURXDBU
S.O: XP / Win 7 /Win10
Blog: http://javierlloris.blogspot.com.es/
e-mail: javierllorisprogramador@gmail.com
Posts: 1076
Joined: Fri Oct 07, 2005 10:41 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 05:39 AM
juan_arroyo_t,

Efectivamente como dices, podras "ver" en todo el programa o proyecto la variable que declares como publica.

Pero hay ciertas restricciones que se tiene. Por ejemplo.

En el main debes hacer esto.
Code (fw): Select all Collapse
#include <fivewin.ch>

memvar calle
function main()
  public calle

  calle := "FWH forever"
  miotroprg()
RETURN NIL


otro prg:
Code (fw): Select all Collapse
#include <fivewin.ch>

memvar calle
function miotroprg()
   ? calle
return nil


Aqui si te das cuenta, veras que se coloca memvar calle en los dos PRGS, esto se debe hacer en todos los PRGS donde vayas a usar la variable calle, sino lo haces asi, te enviará un error, pues la variable no esta definida, no creada que son dos cosas diferentes.
William, Morales

Saludos



méxico.sureste
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 10:47 AM
Juan yo lo hago de la siguiente manera y no me da problemas

Code (fw): Select all Collapse
FUNCTION Main()
  LOCAL oBrush            // Almacena objeto BRUSH
  LOCAL oBar     // Almacena objeto BUTTONBAR
  LOCAL oCursorMano
  LOCAL oICON
  LOCAL oBmp
  LOCAL oFont
  LOCAL cinit := GetWinDir()+"\mega.ini"
  LOCAL memo:= GetpvProfString("camino","curpath",,cinit) 
  LOCAL nBut := array(6)
  LOCAL cPantalla := GetpvProfString("pantalla","tipopan",,(GetWinDir()+"\mega.ini"))
  LOCAL cUsuario := (GetpvProfString("usuario","nombre",,(GetWinDir()+"\mega.ini")))




  local hDLL := LoadLibrary( "bwcc32.dll" )

  BWCCRegister( GetResources() )

  [color=#0000FF]public oApp := TApplication()[/color]


En oApp guardo variables que necesito que sean publicas

Luis
Posts: 652
Joined: Wed Oct 19, 2005 12:03 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 10:51 AM

No leí bien tu mensaje y tiene razón wormar lo que hago es por ejemplo

calle := oApp:direccion

y en caso de quere hacerla general

oApp:direccion := calle

Disculpa el apresuramiento al leer el mensaje

Luis

Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 12:30 PM

Juan

Si usas el UEstudio como editor enlazador en la configuración del proyecto en opciones del compilador debe poner:
Warning level=0

Y no te saldrán los errores.

Saludos,

Adhemar

Saludos,



Adhemar C.
Posts: 1074
Joined: Fri Oct 07, 2005 01:56 PM
Re: Variables públicas
Posted: Thu Nov 11, 2010 03:45 PM
hola

Para llamar una variable public antepone M->

Code (fw): Select all Collapse
PUBLIC cVar

M->cVar := "lo que sea"
Saludos
Patricio

__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Posts: 196
Joined: Fri May 15, 2009 01:25 AM
Re: Variables públicas (solucionado)
Posted: Fri Nov 12, 2010 02:57 AM

Muchas gracias amigos

Funcionó perfecto

Me incliné por el tip de William creo que porque es muy parecido a como lo utilizaba en clipper

Debo decirles que tengo poco que pase de clipper a fivewin

A todos muchas gracias

Saludos

Juan Arroyo
México
FWH 7.12 VERCE 5.3 xHarbour 1.1.0
juan_arroyo_t@hotmail.com

Continue the discussion