HEEEEEELLLLPPPPP!!!!!!

décembre 2004 modifié dans API AppKit #1
B) B) B) B) AU SECOURS!!!!!!!! B) B) B) B) B) B)

Y A MON APPLI QUI PLANTE :crackboom:- :crackboom:- :crackboom:- QU'EST CE QUE JE DOIS FAIRE? :( :( :( :-\\ :-\\ :-\\

MERCI MERCI MERCI VOUS ME SAUVEREZ LA VIE !!!

--
:)beta:
Bon je serais tenté de m'arrêter là , mais ça ne m'aidera pas ;)

Je voudrais juste comprendre une chose, pour une sous classe de nstextview (utilisée comme éditeur dans une nsoutlineview) comment ce code peut faire planter l'appli (pas de message dans le log):
NSRange selRange = [self selectedRange];<br /><br />//un peu de code pour extraire (sans virer) une substring du textstorage et l&#39;intégrer dans un dico, mais rien qui modifie la sélection<br /><br />[[self textStorage] deleteCharactersInRange:NSMakeRange(selRange.location,[[self textStorage] length]-selRange.location)];<br />


Alors que celui là  non:
[[self textStorage] deleteCharactersInRange:NSMakeRange([self selectedRange].location,[[self textStorage] length]-[self selectedRange].location)];<br />


Mais il ne fait rien. Le but étant de virer ce qui se trouve après le début de la zone de sélection, et créer une nouvelle cellule avec ce qui a été viré de la première (un peu comme omnioutliner, mais pas de prob à  ce niveau). Le code est appelé dans -(void)insertNewline:(NSEvent*)event.

Réponses

  • 21:50 modifié #2
    En testant avec le code ci-dessus je n'ai pas eu de blem. Sélection vide, toutes, partielle, début ou fin.
    - (IBAction)action:(id)sender<br />{<br />if ([sender tag] == 0)<br />	{<br />	NSLog(@&quot;tag %d&quot;,[sender tag]);<br />	NSRange selRange = [txtView selectedRange];<br /><br />	[[txtView textStorage] deleteCharactersInRange:<br />			NSMakeRange(selRange.location,[[txtView textStorage] length]-selRange.location)];<br />	[sender setTag:1];<br />	}<br />else<br />	{<br />	NSLog(@&quot;tag %d&quot;,[sender tag]);<br />	[[txtView textStorage] deleteCharactersInRange:<br />			NSMakeRange([txtView selectedRange].location,[[txtView textStorage] length]-[txtView selectedRange].location)];<br />	[sender setTag:0];<br />	}<br />}
    
  • 21:50 modifié #3
    C'est justement ça qui m'échappe, il n'y a aucune raison que ça ne fonctionne pas...
  • décembre 2004 modifié #4
    Dans la série bug débile j'en ai un pas mal aussi :

    NSLog(@&quot; real array : : : : : %@&quot;,realArray);<br />[corpsMail setString:[[[[realArray objectAtIndex:indexUse] objectForKey:UDDicOfMailsMails]objectAtIndex:index]objectForKey:UDCorpsOfTheMail]];<br />NSLog(@&quot; real array : : : : : %@&quot;,realArray);<br />
    

    Une des valeurs de mon tableau (realArray) change entre les deux NSLog ??? ca fait deux heures que jme paie le debugger au ligne par ligne en foutant des logs partout pour trouver quelle était la ligne qui posait problème....

    edit : pfffff j'ai décomposé
    [corpsMail setString:[[realArray objectAtIndex:indexUse] objectForKey:UDDicOfMailsMails]objectAtIndex:index]objectForKey:UDCorpsOfTheMail;
    en plusieurs array et dictionarys, ca donne :
    <br />NSArray *realArray2 = [[NSArray alloc]initWithArray:realArray];<br />NSDictionary *dicoForCorpsMail = [realArray2 objectAtIndex:indexUse];<br />NSArray *arrayForCorpsMail = [dicoForCorpsMail objectForKey:UDDicOfMailsMails];<br />NSDictionary *otherDicoForCorpsMail = [arrayForCorpsMail objectAtIndex:index];<br />[corpsMail setString:[otherDicoForCorpsMail objectForKey:UDCorpsOfTheMail]];<br />
    

    et la ligne qui fait tout merder est celle-là  : [corpsMail setString:[otherDicoForCorpsMail objectForKey:UDCorpsOfTheMail]];
    Cette ligne me modifie une valeur de realArray !!!! :)beta:
Connectez-vous ou Inscrivez-vous pour répondre.