FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for CA-Clipper Favor Ayuda Problemas al Imprimir
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
Favor Ayuda Problemas al Imprimir
Posted: Mon Oct 02, 2006 08:44 PM

Hola amigos:

Soy nuevo en Fivewin, recurro a ustedes, yaque tengo un problema al imprimir, lo puedo hacer en impresoras okidatas, Cannon BJ 200 o 250, pero al seleccionar una Epson cualquiera sea o HP 692C, 690C, arroja un error de memoria, junto a esto anexo RMK, LNK y el Programa. El sistema es super chico, me urge poder solucionar este problema.

Les agradece que me puedan ayudar,

Miguel Rivera.


Muy buenos dias, disculpa el atrebimiento de pedirte ayuda, pero se que eres el SUPER GENIO, soy de Santiago Chile y tengo un problema super grande, siempre he desarrollado en clipper 5.2e, pero me han llamado de una empresa que tiene five win ver 2.4 y blinker 5.1, he tenido que hacer un programa chico pero muy importante, el cual tiene como funcion mostrar por pantalla e imprimir informes de examenes medicos.

Yo puedo mostrar la informacion por pantalla con un browse, puedo imprimir con una impresora okidata 320 o una CANNON 200 o 250 de tinta, me previsualiza en pantalla y luego imprimo, mi sorpresa y problema es que al tratar de imprimir en una HP 692, 690 o cualquier impresora de la linea EPSON C43, C80 u otras, el sistema se cae arrojando el error que te describo mas abajo, pero con las impresoras antes mensionadas, imprime sin ningun problema.

Estoy tan complicado porque no logro dar con la solucion, se que es un problema de memoria, lo he probado en diferentes PC P. IV 1,6 GH, 128 RAM intel, otro PC 2,4 GH, 256 RAM y otros con win 98 o WX, y siempre tengo el mismo resultado. Necesito que por favor me orientes, te envio el programa y el error.

Enormemente agradecido, se despide,

Miguel Rivera.

** ERROR ***

FIVEWIN provoc贸 un error de protecci贸n general
en el m贸dulo MENU3.EXE de 000a:000003f9.
Registros:
EAX=000000a7 CS=43b7 EIP=000003f9 EFLGS=00000216
EBX=0147029c CS=563f ESP=0000635a EBP=00006362
ECX=00000000 DS=563f ESI=00024493 FS=0000
EDX=00003b4f ES=4337 EDI=00024337 GS=0000
Bytes en CS:EIP
,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x,02x
Volcado de pila:
,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x,08x

** LNK

BLINKER executable compress
blinker INCREMENTAL OFF
BLINKER CLIPPER SYMBOL OFF
BLINKER SEGMENT THRESHOLD 65500
STACK 7068
BLINKER PROCEDURE DEPTH 70

MAP A,S

DEFBEGIN
name FiveWin
description 'Clipper for Windows library'
exetype Windows 3.1
code preload moveable discardable
data preload moveable
stacksize 10000
heapsize 8500
segment 'PLANKTON_TEXT' nondiscardable
segment 'EXTEND_TEXT' nondiscardable
segment 'OM_TEXT' nondiscardable
segment 'OSMEM_TEXT' nondiscardable
segment 'SORTOF_TEXT' nondiscardable
segment 'STACK_TEXT' nondiscardable
DEFEND
beginarea
File Menu3
File TcBrowse
File TcColumn
File Rayos
endarea

Lib c:\fw24\lib\five
Lib c:\fw24\lib\fivec
Lib c:\fw24\lib\objects
Lib c:\fw24\lib\winapi
Lib c:\lib\dbfCDX

* RMK

compile = c:\clipper5\bin\clipper $< /i /n /d
link = c:\bl51\bin\blinker;C:\util\obj

.Prg.Obj:
$(compile)

Menu3.Obj : Menu3.Prg
TcBrowse.Obj : TcBrowse.Prg
TcColumn.Obj : TcColumn.Prg
Rayos.obj : Rayos.Prg
Ecos.obj : Ecos.prg
Scanner.obj : Scanner.prg

menu3.Exe : menu3.Obj TcBrowse.obj TcColumn.obj Rayos.obj\
Scanner.obj Ecos.obj
\bl51\bin\Blinker @compi1.Lnk

* PROGRAMA PRG

include "FiveWin.ch"

Include "TcBrowse.ch"

include "report.ch"

Include "Font.Ch"

FUNCTION Scanner()
Local Dialog,oDlg,oNom,oFec
Local odbginfsc,odbdinfsc
bBusca=1
oFolio:=0
cFolio:=0

sele 1
Use Geinfsc Shared
DATABASE oDbGinfsc

Set inde to Geinfsc
sele 2
Use Deinfsc Shared
DATABASE oDbDinfsc

Set inde to Deinfsc
if !file("pasosca.dbf")
Copy struc to pasosca
endif

sele 3
Use Detarayo Shared

Set inde to Detarayo

Sele 4
Use Profesio Shared

Set inde to Profesio

Sele 5
Use pasosca Exclusi

Define Dialog oDlg ResName "Pide_nro_bono" Title "Datos del Paciente"
Redefine Get oFolio Var cFolio Id 102 Of oDlg Color "w+/b*" Update Picture "@9999999999"
Redefine Button Id 201 Of oDlg ;
Action (bBusca:=1,Muestra_datos(),lGrabar:=.f.,cFolio:=0)
Redefine Button Id 101 Of oDlg ;
Action (bBusca:=0,Busca_fol(),lGrabar:=.f.)

 Redefine Button Id 150 Of oDlg ;
   Action (Dbcloseall(),oDlg:END())

Activate Dialog oDlg Centered

RETURN nil

Static FUNCTION Muestra_datos()
Local oDlg,Dialog,oCod,cCod
if bBusca=1
Sele a
DbSetorder(1)
seek cFolio
lSalida := .T.
lGrabar:=.t.
if eof()
MsgInfo("N潞 de Ingreso no Existe")
lSalida := .F.
lGrabar:=.f.
Return
Endif
else
cFolio=a->Nro_bon
Endif
sele c
seek cFolio
cCod=""
Do while (Fol_ray=cFolio).and.!eof()
cCod=cCod+cod_ara+" "
Dbskip()
Enddo
Sele a

Define Dialog oDlg ResName "Pide_paci" Title "Datos del Paciente"
Redefine Say oFolio Prompt a->nro_bon Id 102 Of oDlg Color "w+/b"
REDEFINE Say oNom Prompt OemToAnsi(a->nom_pac) ID 103 OF oDlg Color "w+/b
"
REDEFINE Say oFec Prompt a->fec_inf ID 104 OF oDlg Color "w+/b"
REDEFINE Say oCod Prompt cCod ID 105 OF oDlg Color "w+/b
"
Redefine Button Id 210 Of oDlg ;
Action Imprime()

 Redefine Button Id 190 Of oDlg ;
   Action Muestra_inf()


 Redefine Button Id 150 Of oDlg ;
        Action (oDlg:END())


Activate Dialog oDlg Centered

 cFolio:=0
 oFolio:=0

Return

Static Function Imprim()
LOCAL oFont,oFont1,oFont2
Private oReport

Sele d
DbSeek(a-&gt;med_rad)
Sele b
Set inde to Deinfsc
DbSeek(cFolio)
if eof()
   MsgInfo("No Existe Registro "+str(cFolio,10)+" de Ingreso no Existe")
   Return
endif
                                              //-17
DEFINE FONT oFont NAME "Courier New" SIZE 0,-15

REPORT oReport Title " "," "," ",spac(32)+" Santiago "+spac(8)+subs(a-&gt;fec_inf,1,2)+spac(11)+aMeses[val(subs(a-&gt;fec_inf,4,2))]+space(7)+subs(a-&gt;fec_inf,7,4)," ",;
       "Sr(a)DR(a) : "+OemToAnsi(trim(a-&gt;med_sol))," "," ","Presente ",OemToAnsi(trim(a-&gt;tip_exa))," "," ",OemToAnsi(trim(a-&gt;nom_pac))," "," "," "," "," ";
    FONT oFont;
    PREVIEW

   COLUMN  DATA spac(6)+OemToAnsi(b-&gt;Cod_det) SIZE 71

END REPORT

 oReport:nTitleUpLine := RPT_NOLINE
 oReport:nTitleDnLine := RPT_NOLINE
 oReport:Margin(.15,RPT_LEFT,RPT_INCHES)
 oReport:Margin(.25,RPT_TOP,RPT_INCHES)
 oReport:Margin(.25,RPT_BOTTOM,RPT_INCHES)

 ACTIVATE Report oReport While b-&gt;Nro_bon=cFolio.and.!eof() ON END Finsc(oReport)

oFont:End()

Sele b
Seek cFolio

  Return

Static FUNCTION Busca_fol()
local oDlgPa
local oLbx1,oFont
cFolio:=0
oFolio:=0
Sele a
go bott
aa=nro_bon-10
Dbseek(aa)

Define Dialog oDlgPa ResName "Listado_paci" Title "Paciente Ingresados"

Redefine Browse oLbx1 Grid Id 110 Of oDlgPa;
    On DblClick (bBusca:=0,Muestra_datos(),oLbx1:Refresh(), oLbx1:SetFocus())

  oLbx1:oFont   := TFont():New( "MS Sans Serif", 0, -14,, .T. )
  oLbx1:nFreeze := 3

  oLbx1:nClrBackFocus := RGB(48,207,100)
  oLbx1:bKeyChar := {| nKey, nFlags | iIf(nKey == 13,Muestra_datos(),)}

  Add Column To Browse oLbx1 Data a-&gt;Nro_bon ;

Head "Nro. Bono" Width 70
Add Column To Browse oLbx1 Data OemToAnsi(a->Nom_pac) ;
Head "Nombre del Paciente" Width 350
Add Column To Browse oLbx1 Data a->Fec_inf ;
Head "Fecha de Informe" Width 450

  Define Column oCol Head "" Size 1
  oLbx1:AddColumn(oCol)


  oLbx1:SetFocus()

Redefine Button Id 150 Of oDlgpa ;
  Action (oDlgpa:END())

Activate Dialog oDlgPa Centered

 Sele a
 DbSetorder(1)

Return

Static FUNCTION Muestra_Inf()
local oDlgDeta
local oLbx1,oFont
Local Deta_inf[200]
cFolio:=a->Nro_bon
oFolio:=0
Sele b
set inde to deinfsc
Dbseek(a->nro_bon)
Do while (nro_bon=a->nro_bon).and.!eof()
sele e
Appen Blank
Repl nro_lin with b->nro_lin,cod_det with b->cod_det
Dbcommit()
Dbunlock()
sele b
Dbskip()
Enddo

Sele e
Dbgotop()
Define Dialog oDlgDeta ResName "Detalle_info"

REDEFINE Say oNom Prompt OemToAnsi(a-&gt;nom_pac)    ID 103 OF oDlgDeta  Color "w+/b*"

Redefine Browse oLbx1 Grid Id 106 Of oDlgDeta;
    On DblClick (oLbx1:Refresh(), oLbx1:SetFocus())

  oLbx1:oFont   := TFont():New( "MS Sans Serif", 0, -15,,.T. )
  oLbx1:nFreeze := 1

  oLbx1:nClrBackFocus := RGB(48,207,100)

  oLbx1:bKeyChar := {| nKey, nFlags | iIf(nKey == 13,Imprime(),)}
  Add Column To Browse oLbx1 Data OemToAnsi(e-&gt;Cod_Det);
        Head "" Width 580  Tag OemToAnsi("e-&gt;Cod_Det")

  Define Column oCol Head "" Size 1
  oLbx1:AddColumn(oCol)


  oLbx1:SetFocus()

Redefine Button Id 210 Of oDlgDeta ;
Action (Imprime(),oDlgDeta:END())

Redefine Button Id 150 Of oDlgDeta ;
  Action (oDlgDeta:END())


Activate Dialog oDlgDeta Centered

 Sele e

Return

Static Function Imprime()
Local oPrint, oFont1, oFont2, cTipo, oFont3, oFont4, oPen, oFont5
Local nFila, nColumna, nVertical, nHorizontal
Print oPrint From User Preview
Define Font oFont1 Name "Arial" Size 0,14 Of oPrint
Define Font oFont2 Name "Arial" Size 0,18 Of oPrint
Define Font oFont5 Name "Arial" Size 0,16 Of oPrint
Define Font oFont3 Name "Arial" Size 0,12 Of oPrint Bold UnderLine
Define Font oFont4 Name "Arial" Size 0,24 Of oPrint Bold Italic
Define Pen oPen Style 0 width 5
nVertical := oPrint:nVertRes()
nHorizontal := oPrint:nHorzRes()
nFila := Round(nVertical/60,0)
nColumna := Round(nHorizontal/80,0)
Fil=nFila
col=nColumna
Page
oPrint:Say(nFila5,nColumna40," Santiago "+spac(8)+subs(a->fec_inf,1,2)+spac(11)+aMeses[val(subs(a->fec_inf,4,2))]+space(7);
+subs(a->fec_inf,7,4),oFont1)
oPrint:Say(nFila7,nColumna20,"Sr(a)DR(a) : "+OemToAnsi(trim(a->med_sol)),oFont2)
oPrint:Say(nFila9,nColumna20,"Presente ",oFont2)
oPrint:Say(nFila11,nColumna20,OemToAnsi(trim(a->tip_exa)),oFont2)
oPrint:Say(nFila13,nColumna20,OemToAnsi(trim(a->nom_pac)),oFont2)
nAvance := 15.9
Sele b
Set inde to Deinfsc
DbSeek(cFolio)
nPosicion=15.5
nLinea=0
Do While (nro_bon=cFolio).and.!Eof()
nLinea=nLinea+1
nPosicion := nPosicion+1.4
oPrint:Say(nFilanPosicion,nColumna10,OemToAnsi(b->cod_det),oFont5)
DbSkip()
if nLinea>29
nFila:=fil
nPosicion:=5
nColumna:=col
nLinea:=0
Endpage
Page
endif
EndDo
nPosocion := 35.7
EndPage
EndPrint
oFont1:End()
oFont2:End()
oFont3:End()
oFont4:End()
oFont5:End()
Return(Nil)

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Favor Ayuda Problemas al Imprimir
Posted: Tue Oct 03, 2006 05:32 AM

Miguel,

Busca en el fichero MAP (ya que usas MAP A,S desde el fichero LNK) el rango de direcciones en donde est谩 contenido 000a:000003f9. Aparecer谩 dos veces, una al comienzo y otra al final. En la segunda aparici贸n te mostrar谩 un nombre de funci贸n, que es en donde se produce el GPF.

Si tienes dudas de como localizarlo, sube tu fichero a www.hyperupload.com y pon aqui el link de descarga que te proporcionar谩.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
Link del Archivo MAP, para Antonio Linares
Posted: Tue Oct 03, 2006 03:23 PM
Antonio Linares wrote:Miguel,

Busca en el fichero MAP (ya que usas MAP A,S desde el fichero LNK) el rango de direcciones en donde est谩 contenido 000a:000003f9. Aparecer谩 dos veces, una al comienzo y otra al final. En la segunda aparici贸n te mostrar谩 un nombre de funci贸n, que es en donde se produce el GPF.

Si tienes dudas de como localizarlo, sube tu fichero a www.hyperupload.com y pon aqui el link de descarga que te proporcionar谩.


Antonio:
Envio el Link donde he subido el archivo MAP, llamado MENU3.map

http://hyperupload.com/download/02fe9a8 ... 3.map.html

Miguel Rivera
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Favor Ayuda Problemas al Imprimir
Posted: Tue Oct 03, 2006 05:28 PM

Miguel,

El GPF se produce en la maquina de Clipper (__PLANKTON), prueba a bajar el valor del stacksize e intenta usar la versi贸n de Clipper m谩s actualizada.

Si siguiera fallando entonces tienes que plantearte pasar tu aplicaci贸n a 32 bits usando FWH y Harbour.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 117
Joined: Sun Oct 01, 2006 11:39 PM
Para Antonio Linares
Posted: Tue Oct 03, 2006 06:15 PM
Antonio:

Probe cambian el Stacksize y persiste el problema, no puedo subir a 32 por estar en una red novel 3.12 y trabajamos a 16.

Debe haber otra solucion, como lo hacen los demas Fivewineros, que son muchos por lo que puedo darme cuenta. Debo dar una solucion sobre lo que tengo si puede existir otra forma, te lo agradeceria me lo hicieras saber.

Miguel Rivera

Antonio Linares wrote:Miguel,

El GPF se produce en la maquina de Clipper (__PLANKTON), prueba a bajar el valor del stacksize e intenta usar la versi贸n de Clipper m谩s actualizada.

Si siguiera fallando entonces tienes que plantearte pasar tu aplicaci贸n a 32 bits usando FWH y Harbour.
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Favor Ayuda Problemas al Imprimir
Posted: Tue Oct 03, 2006 07:04 PM

Miguel,

S贸lo se nos ocurre que uses unos drivers de impresora lo m谩s actualizados posible, y si el problema persiste que pases la aplicaci贸n a 32 bits.

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 35
Joined: Thu Oct 06, 2005 10:00 PM
Favor Ayuda Problemas al Imprimir
Posted: Fri Nov 03, 2006 08:57 PM

Miguel:
Prueba quitando las l铆neas que te digo:

BLINKER executable compress
blinker INCREMENTAL OFF
BLINKER CLIPPER SYMBOL OFF
BLINKER SEGMENT THRESHOLD 65500 <--- (ELIMINALA)
STACK 7068 <----------------------------------(ELIMINALA)
BLINKER PROCEDURE DEPTH 70 <-----------(ELIMINALA)

Por otro lado veo que tienes el Blinker 5.1, intenta linkarlo con la v.7.0

隆隆隆Suerte!!!

Posts: 38
Joined: Thu May 11, 2006 07:41 PM
saludos miguel
Posted: Mon Dec 11, 2006 02:14 PM

Miguel prueba con el blinker 7, o el clipper5.3
Saludos sildata.

sildata@cantv.net

Continue the discussion