Jump to content
Fivewin Brasil

Say/Get lentos em xHarbour+FW


ottonico

Recommended Posts

Boa tarde,

Uso o FWH 2.5 + xHarbour e estou encontrando um problema de performance no momento em que os Says e Gets são desenhados na tela.

Com FW24 + Clipper 5.2e a tela é exibida rapidamente sem problemas, mas quando compilo o mesmo prg com o FWH e vejo cada say/get sendo desenhado na tela.

Estou usando WinXP em um Celeron 1.3, 512 RAM... não deveria se comportar assim... alguém tem alguma idéia?

Obrigado,

Luciano

Link to comment
Share on other sites

Amigo, vc disse que usava o clipper com fw 2.4 certo?

E como fez a conversão das telas? vc usa @say ou recursos?

Se for recursos o problema pode estar na famosa conversão do Resouce workshop para ".RC", isso causa uma série de bugs no xHarbour.

Se for @say, poste teu codigo onde monta a tela que testo aqui e te digo o problema.

Em caso de resources, recomento que vcrefaça todos recursos no Pelles puramente, sem aproveitar nadinha do 16bit, sei que é maior trampo, mas é a única forma de zerar os bugs.

Abraços.

ADELSON - (A&F Soft)

Pelles 3.00.4, FWH 2.6, xHarbor Comercial 0.99.5, Drive RDDSQL

Link to comment
Share on other sites

Adelson,

segue o código. Estou falando de um programa simples... sem RC. Alias, as telas feitas em RC são mais rápidas que as criadas na mão. Quando compilo esse programa com Clipper 5.2e + FW2.4 fica um foguete, quando compilo com xHarbour + FWH 2.5... em consigo ver os SAYs/GETs serem montados na tela... me recordou os tempos do XT.

[]´s

Luciano

/////////////////////////

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

local lClose

local oGet1, oGet2, oGet3, oGet4, oGet5, cTexto1:= space(20)

local oGet6, oGet7, oGet8, oGet9, oGet10, oGet11

do while .t.

lClose := .f.

DEFINE DIALOG oDlg FROM 1,1 to 30, 90 TITLE "Loadind..."

@ 00, 2 say "1. Info:"

@ 00, 10 get oGet0 VAR ctexto1 pict "@!" valid ValMyGet()

@ 01, 2 say "2. Info:"

@ 01, 10 get oGet1 VAR ctexto1 pict "@!" valid ValMyGet()

@ 02, 2 say "3. Info:"

@ 02, 10 get oGet2 VAR ctexto1 pict "@!" valid ValMyGet()

@ 03, 2 say "4. Info:"

@ 03, 10 get oGet3 VAR ctexto1 pict "@!" valid ValMyGet()

@ 04, 2 say "5. Info:"

@ 04, 10 get oGet4 VAR ctexto1 pict "@!" valid ValMyGet()

@ 05, 2 say "6. Info:"

@ 05, 10 get oGet5 VAR ctexto1 pict "@!" valid ValMyGet()

@ 06, 2 say "7. Info:"

@ 06, 10 get oGet6 VAR ctexto1 pict "@!" valid ValMyGet()

@ 07, 2 say "8. Info:"

@ 07, 10 get oGet8 VAR ctexto1 pict "@!" valid ValMyGet()

@ 08, 2 say "9. Info:"

@ 08, 10 get oGet9 VAR ctexto1 pict "@!" valid ValMyGet()

@ 09, 2 say "10. Info:"

@ 09, 10 get oGet10 VAR ctexto1 pict "@!" valid ValMyGet()

@ 10, 2 say "11. Info:"

@ 10, 10 get oGet11 VAR ctexto1 pict "@!" valid ValMyGet()

@ 10, 1 BUTTON " &Next... " OF oDlg SIZE 60, 25 ACTION oDlg:End()

@ 10, 15 BUTTON " &Close " OF oDlg SIZE 60, 25 ACTION (lClose:=.t.,oDlg:End())

ACTIVATE DIALOG oDlg

if lClose

exit

endif

enddo

return NIL

static function ValMyGet()

//MsgInfo("Validando get...")

return .t.

Link to comment
Share on other sites

Olá,

Testei aqui e, mesmo com o "do while" rodou normal (xHarbour+FWh 2.5). Agora o certo é realmente retirar o "do while".

[]s,

Evandro G. de Paula

Curvelo - MG

evandro@skillnet.com.br (Escr. - na Cidade)

imortal@skillnet.com.br (Res. - na Roça)

FWH 2.5+PellesC+xBuild+xHarbour.org 0.99.3

Link to comment
Share on other sites

Boa tarde,

O Do While só se encontra neste código por motivo de teste, para que o programa feche a DIALOG e abra novamente. O meu problema não é isso. Estou com um problema sério de performance.

Já compilei esse programa em 3 computadores e tenho o mesmo resultado. Se rodo esse programa no Win98 ele fica mais lento ainda... vejo cada say e get sendo apresentado na tela.

O mesmo programa em Fivewin 2.4 + Clipper 5.2e fica pelo menos 10x mais rápido. Posso lhe enviar os 2 EXEs anexados para vc testar ai, pq não sei o que acontece.

Já tentei as dicas do Forum de definir a função IsAppThemed() com retorno .F. e também de definir os metodos da DispBegin() e DispEnd() da classe TWindow como Virtual. De fato, a performance melhorá, mas ainda sim continua lento. Você tem alguma notícia sobre essas alterações?

Isso, está dificultando a migração em meus clientes, pois não querem usar um programa mais lento do o anterior.

Obrigado,

Luciano

Link to comment
Share on other sites

Olá,

Como você compilando e linkando ?

citação:

Boa tarde,

O Do While só se encontra neste código por motivo de teste, para que o programa feche a DIALOG e abra novamente. O meu problema não é isso. Estou com um problema sério de performance.

Já compilei esse programa em 3 computadores e tenho o mesmo resultado. Se rodo esse programa no Win98 ele fica mais lento ainda... vejo cada say e get sendo apresentado na tela.

O mesmo programa em Fivewin 2.4 + Clipper 5.2e fica pelo menos 10x mais rápido. Posso lhe enviar os 2 EXEs anexados para vc testar ai, pq não sei o que acontece.

Já tentei as dicas do Forum de definir a função IsAppThemed() com retorno .F. e também de definir os metodos da DispBegin() e DispEnd() da classe TWindow como Virtual. De fato, a performance melhorá, mas ainda sim continua lento. Você tem alguma notícia sobre essas alterações?

Isso, está dificultando a migração em meus clientes, pois não querem usar um programa mais lento do o anterior.

Obrigado,

Luciano


id=quote>id=quote>
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...