Probleme dans deux fonctions C equivalentes.

fouffouf Membre
15:49 modifié dans API AppKit #1
Bonjour à  tous.
Dans mon code, j'ai défini deux fonctions dont voici le code :
NSString* GSVGLineStringWithPoints(NSPoint startPoint, NSPoint endPoint, float lineWidth, NSColor *color)<br />{<br />	float r,g,b;<br />	[[color colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&amp;r green:&amp;g blue:&amp;b alpha:nil];<br />	return [NSString stringWithFormat:@&quot;&lt;line x1=&#092;&quot;%f&#092;&quot; y1=&#092;&quot;%f&#092;&quot; x2=&#092;&quot;%f&#092;&quot; y2=&#092;&quot;%f&#092;&quot; style=&#092;&quot;stroke:rgb(%f,%f,%f); stroke-width:%f&#092;&quot;/&gt;&quot;,<br />		startPoint.x,startPoint.y,endPoint.x,endPoint.y,r,g,b,lineWidth];<br />}<br /><br />NSString* GSVGCircleStringWithCenter(NSPoint center,float radius,float lineWidth, NSColor * color)<br />{<br />	float r,g,b,a;<br /><br />	[[color colorUsingColorSpaceName:NSCalibratedRGBColorSpace] getRed:&amp;r green:&amp;g blue:&amp;b alpha:&amp;a];<br />	<br />	return [NSString stringWithFormat:@&quot;&lt;circle cx=&#092;&quot;%f&#092;&quot; cy=&#092;&quot;%f&#092;&quot; r=&#092;&quot;%f&#092;&quot; style=&#092;&quot;stroke:rgb(%f,%f,%f); stroke-width:%f&#092;&quot; fill=&#092;&quot;white&#092;&quot; /&gt;&quot;,<br />		center.x,center.y,radius,r,g,b,lineWidth];<br />}<br />


Mon pb à  lieu dans la deuxieme. Dès que je fais un appel à  color, vlan il plante. Même un NSLog(@%@",color); (pareil en enlevant le a et le &a).

Je suis totalement désepéré. Vous n'auriez pas une idée de pourquoi ca marche pas ?
Merci d'avance :fouf):

Réponses

  • Eddy58Eddy58 Membre
    novembre 2005 modifié #2
    Pas évident de voir ce qui ne marche pas... :o
    Si tu fait un
    [tt]NSLog(@%@",[color colorUsingColorSpaceName:NSCalibratedRGBColorSpace]);[/tt]
    au tout début de ta fonction ça donne quoi ?

    [EDIT]
    Si tu fais ton NSLog(@%@",color) en tout début de fonction et que ça plante, le log ci-dessus ne fera pas mieux. As-tu essayé de remplacer cette fonction par une méthode ?
  • fouffouf Membre
    15:49 modifié #3
    Et pourtant, ca marche.

    Oubli de déclaration dans le header. Bon, la prochaine fois je ferais plus attention ;)
    Merci Eddy pour ton aide.

    Par contre, ce que je ne capte pas c'est pourquoi alors que j'ai aussi fait une méthode de classe Obj-C, avec le même code, ca plantait aussi. A la limite, le C, je peux comprendre, c'est pas dynamique, mais je croyais qu'avec Obj-C on pouvait appeler des méthodes même alors qu'elle ne sont pas déclarée. Est-ce que quelqu'un pourrait m'expliquer ? :o
Connectez-vous ou Inscrivez-vous pour répondre.