Bonsoir,
Petite question nocturne....
Je fais un switch sur des AnsiString avec l'astuce du AnsiIndexStr, décrite par ailleurs ici:
http://c.developpez.com/faq/bcb/?pag...itchansistring
Tout est marche pour le mieux, j'ai d'ailleurs retesté dans un précédant projet codé sur la même machine mais dans le projet en cours, impossible d'utiliser ce AnsiIndexStr...
Qq lignes de code :
J'ai bien inclus StrUtils.hpp et le tout compile correctement mais plante a l'execution.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 AnsiString ListeFixe[5] = {"ID", "FAM", "SFAM", "NOM", "UCOT"}; String NomFourn; for (int i = 0; i < frmMercu->pListChamp->Count; i ++) { NomFourn = frmMercu->pListChamp->Strings[i].SubString( (frmMercu->pListChamp->Strings[i].AnsiPos("=") + 1), frmMercu->pListChamp->Strings[i].Length() ); switch (AnsiIndexStr(NomFourn, &ListeFixe[0], 5)) { case 0: //ID break; case 1: //FAM break; case 2: //SFAM break; case 3: //NOM break; case 4: //UCOT break; default: ShowMessage("ok"); break; } }
En ayant fait qq test, il semble que ce soit l'AnsiIndexStr qui bloque.
J'espère, quitte a être ridicule, avoir oublié quelquechose de simplissime quelquepart plutôt que de tomber sur un souci mystérieux, comme le coup de la référence aux composants DBADO qui sautent a chaque ouverture de l'EDI :
http://www.developpez.net/forums/viewtopic.php?t=470191
Merci d'avance pour vos lumières...
@ +![]()
Partager