Pb. de Débutant VC++6.0 avec Appwizard
Bonjour à tous!!!
C'est mon premier Post dans ce forum, et je tient d'abord à remercier tous ce qui l'animent car il m'a sortie bien des fois de lla m****!!...
Mais la je bute...
Voila, j'ai une application à faire sous VC6.0 avec l'appWizard en SDI. Il s'agit de réaliser diverse opérations de traitement sonore sur un fichier wav (lecture, filtrage, concatenation,...) bref, tous ça marche à la perfection...
Mon problème est le suivant:
Je doit afficher la FFT(transformée de Fourier) d'un fichier wav. J'ai une classe Cson qui la calcule (grace à une méthode fft() ), et retourne un tableau (de type double *) dans le Doc.cpp .Le problème, c'est que dans ma fonction ::Ondraw(CDC* pDC) , lorsque j'appelle le tableau par la commade
Code:
pDC->LineTo(i+40,400-pDoc->tabFFT[i]);
et bien le prog plante...(mais sans erreur avec le compilo)
Mais pourquoi diantre cela???
Voici ma fonction ::OnDraw :
Code:
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 29
|
void CIstasoundView::OnDraw(CDC* pDC)
{
CIstasoundDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
pDC->MoveTo(40,100);
pDC->LineTo(20,120);
pDC->MoveTo(40,100);
pDC->LineTo(60,120);
pDC->MoveTo(40,100);
pDC->LineTo(40,400);
pDC->LineTo(592,400);
pDC->LineTo(572,380);
pDC->MoveTo(592,400);
pDC->LineTo(572,420);
pDC->TextOut(593,400,"fréquence en Hz");
pDC->TextOut(10,80,"Amplitude");
CBrush Brush;
CBrush pinceau(RGB(0,255,0));
pDC->MoveTo(40,400);
for(int i=0;i<=552;i++)
{
pDC->LineTo(i+40,400-pDoc->tabFFT[i]);//ici le pb!!!
}
} |
ET maintenant le code correspondant dans le Doc.cpp:
Code:
tabFFT=son.fft();//son étant la classe et fft, la methode
alors j'ai déclaré tabFFT en public, protected, mais sans succés!...
Comment faire alors???...
aidez moi ,SVP!!!...
@+, et merci d'avance!...