Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Bug in ALINES()
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00824830
Message ID:
00961625
Vues:
25
Hi Ben,

Using MLINE() and _MLINE is very slow on long string (MaxCov plugin by Markus Egger)
*********************************************************************
** MLineEx() equal to MLINE() but faster
*********************************************************************
PROCEDURE MLineEx(lcSource,liLine)
* @lcSource - Source string
* liLine    - Number Row
LOCAL liEndCRLF,liStartCRLF
IF m.liLine#0 && 
   liEndCRLF=AT(CHR(13),m.lcSource,m.liLine) && 
   IF liEndCRLF=0 && Pokud konec nena¹el (i to se mù¾e stát)
      liStartCRLF=IIF(m.liLine=1,1,AT(CHR(13),m.lcSource,m.liLine-1)) &&
      RETURN IIF(m.liLine=1,m.lcSource,;
             IIF(SUBS(m.lcSource,m.liStartCRLF+1,1)=CHR(10),;
                   SUBST(m.lcSource,m.liStartCRLF+2),;
                   SUBST(m.lcSource,m.liStartCRLF+1))) && 
   ELSE
      IF m.liLine=1 && 
         RETURN LEFT(m.lcSource,m.liEndCRLF-1) && 
      ELSE
         liStartCRLF=AT(CHR(13),m.lcSource,m.liLine-1) && 
         liStartCRLF=m.liStartCRLF+;
                     IIF(SUBS(m.lcSource,m.liStartCRLF+1,1)=CHR(10),2,1)
         RETURN SUBST(m.lcSource,m.liStartCRLF,m.liEndCRLF-m.liStartCRLF)
      ENDIF
   ENDIF
ENDIF
RETURN ""
ENDPROC
MartinJ

>I confirm this bug. My VFP8 SP1 application (running 24x7) using Aline() crashed in C5 error about once or twice a day. Finally I replaced Aline() with a Mline() and _Mline routine.
"Navision is evil that needs to be erazed... to the ground"

Jabber: gorila@dione.zcu.cz
Jabber? Jabbim
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform