Page 1 of 1

A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 10:30 am
by Jose Marte2
Ingles

Greetings to all, I hope you are well as are your family.

Please who can help me

Sorry to write so much, is that I am starting to take my clipper system to graphic eXpress

I have a graphic menu since I attached photo.

I have a billing program that I have not finished taking it to chart. but I am using the function
DC_CRTRUN and I have a hybrid that more or less works well

the graphic menu and some screens in text mode (msdos).

the problem is that sometimes the system closes because it presents the error that also attached photo.

please if someone would know how to solve or any idea, they would be infinitely grateful.


Español

Saludos para todos, espero estén bien al igual que sus familia.

Por favor quien me pueda ayudar

Perdonen que escriba tanto, es que estoy comenzado en esto de llevar mi sistema en clipper a eXpress gráfico

tengo un menú gráfico ya que le adjunto foto.

tengo un programa de facturación que todavía no he terminado de llevarlo a gráfico. pero estoy usando la función
DC_CRTRUN y tengo un híbrido que mas o menos funciona bien

el menú gráfico y algunas pantallas en modo texto (msdos).

el problema es que a veces se me cierra el sistema por que presenta el error que también le adjunto foto.

por favor si alguien sabría como resolver o alguna idea, se lo agradecería infinitamente.

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 11:17 am
by rdonnay
Which version of Xbase++ are you using?

I have never seen a member of the XbpCrt class named XbpBaseDialog.

It appears that Alaska left some old code in the XbpCrt class that calls the hidden method SystemPropertyChanged(), but we don't have the source code for XbpCrt, so it may take some work to trap this error. Show me the code for MenuSel().

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 3:13 pm
by Auge_Ohr
hi,

it is from c:\ALASKA\XPPW32\Source\SYS\xbparts.prg -> XPPSYS.DLL

Code: Select all

METHOD XbpCrt:SystemPropertyChanged( mp1, mp2 )
   IF GetApplication():MainForm != self
      RETURN ::XbpBaseCrt:SystemPropertyChanged( mp1, mp2 )
   ENDIF
RETURN GetApplication():HandleEvent(xbeP_SystemPropertyChanged, mp1, mp2)

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 3:56 pm
by Auge_Ohr
hi,
Jose Marte2 wrote: please if someone would know how to solve or any idea, they would be infinitely grateful.
i´m not a Express++ User so i´m not sure when look into c:\exp20\Source\Dclipx\_dcfunct.prg for FUNCTION DC_CrtRun().

it seem me that is open new CRT Window and here Windows begin as your "Main" is not suspend ... it is still working.
i guess "something" in Main happens and try to change Screen "output" but can´t "write" when other CRT have Focus.

to run 2 x CRT is not the same like 2 x CMD where you can have multi "output". only active CRT can "output" to Screen

i saw in DC_CrtRun() Parmeter lModal.
this might help while you can only access "that Window"


---

as i understand Express++ can use @ X,Y Syntax which will using #xCommand to produce GUI so no need for CRT.
you "just" need to create a GUI Window and can use you @ X,Y "inside" with your Cl*pper Code.

so i recommend to "jump" into Express++ Syntax with full GUI.

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 4:14 pm
by rdonnay
Jimmy -

Thanks for that info.
I didn't know that Alaska provided the source for XbpCrt.

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 6:27 pm
by Jose Marte2
Auge_Ohr wrote:hi,

it is from c:\ALASKA\XPPW32\Source\SYS\xbparts.prg -> XPPSYS.DLL

Code: Select all

METHOD XbpCrt:SystemPropertyChanged( mp1, mp2 )
   IF GetApplication():MainForm != self
      RETURN ::XbpBaseCrt:SystemPropertyChanged( mp1, mp2 )
   ENDIF
RETURN GetApplication():HandleEvent(xbeP_SystemPropertyChanged, mp1, mp2)
Ingles
Hi, thanks for your valuable help and information
One question, I must replace those instructions in that prg with the ones you exposed here and then rebuild the DLL

look for those instructions in the prg that is specified and say this
Hola, gracias por su valiosa ayuda e informacion

Español
Una pregunta, debo sustituir esas instrucciones en ese prg por las que usted expuso aqui y luego reconstruir el DLL

busque esas instrucciones en el prg que se especifica y dice esto

METHOD XbpCrt:SystemPropertyChanged( mp1, mp2 )

IF GetApplication():MainForm != self
RETURN ::XbpBaseDialog:SystemPropertyChanged( mp1, mp2 ) // en esta linea esta la diferencia
ENDIF

RETURN GetApplication():HandleEvent(xbeP_SystemPropertyChanged, mp1, mp2)

Re: A help please - Una Ayuda por Favor

Posted: Wed Mar 04, 2020 6:32 pm
by Jose Marte2
Thank you, thank you very much, for your attention and your valuable help

Gracias, muchas gracias, por sus atenciones y su valiosa ayuda