HWND main_hwnd unter MFC problem



  • Hallo zusammen

    Ich wollte mit einem code das mit winApi geschriben wurde mit Visual.net
    unter MFC zum laufen bringen.

    //now that the performance object has been successfully created,
    // we need to initialize it
    hr = performance->Init (NULL, // address to a DirectMusic object, if
    // it exists. If NULL, the object will
    // be created internally
    NULL, // address of a DirectSound object. If you use
    // DirectSound in conjuction with DMusic, you
    // should ALWAYS pass the DSound pointer. We
    // aren't using DSound, so we can pass NULL
    // and the object will be created internally.
    main_hwnd); // application's window handle
    // check the HRESULT returned by the function. Normally, I convert
    // HRESULT value to a string and save it to a log file so that I
    // know the exact error. For our purposes, I'll just pop-up a
    // message box when a function fails
    if (FAILED(hr))
    {
    MSGBOX("Failed to initialize performance object");
    return false;
    }

    beim kompilieren kommt das MSGBOX ("Failed to initialize performance object")

    HWND main_hwnd;// handle to the applcation's window

    kann es an main_hwnd liegen.

    wie kann ich den handle von meinen dialogfenster übergeben.
    muss ich dafür neue handle definiren oder hat das MFC schongemacht?

    Grüße Can



  • Probier mal statt main_hwnd die CWnd Funktion GetSafeHwnd()

    Gruss
    EB



  • Danke EarlyBird
    Ich habe es so gemacht und es Funktioniert. CDialog main_hwnd;

    jetz habe ich leider ein anderes problem
    Wir kann ich von der GetRepeats() ein wert erhalten und in editbox anzeigen.
    ich habe es so gemacht aber klappt nicht.

    void CDMusicTest2Dlg::OnBnClickedZeigebutt()
    {
    double dRepeatData;

    m_Anzeige.Format("%lf",segment->GetRepeats(dRepeatData));
    UpdateData(false);

    }

    was mache ich falsch?
    hier die erklärung ich kann leider kein englisch..

    IDirectMusicSegment8::GetRepeats()
    The GetRepeats method retrieves the number of times the looping portion of the segment is set to repeat.

    Syntax

    HRESULT GetRepeats( DWORD* pdwRepeats);

    Parameters

    pdwRepeats

    Address of a variable that receives the number of times that the looping portion of the segment is set to repeat.

    Return Values

    If the method succeeds, the return value is S_OK.

    If it fails, the method can return E_POINTER



  • Kann mir bei meinem problem keine helfen?



  • nein



  • Hallo niemand.
    Danke für dein antwort also es gibt hoffnung für micht 🙂
    einer ist ausgeschieden von Tausenden.

    Bin überzeugt es gibt jemanden der mir helfen kann.
    ist bestimmt nicht unmöglich was ich wissen möchte

    Grüße can



  • wenn du sowas schreibst:

    ich habe es so gemacht aber klappt nicht.

    kannst du nicht wirklich hilfe erwarten.



  • Ich möchte mich entschuldiegen fals ich was falsches geschrieben habe!
    ich dachte so kann ich besser verstanden werden möchte niemanden beleidigen
    ich bin Anfänger.

    ich möchte nur wissen
    wie ich den wert von GetRepeats( DWORD* pdwRepeats);

    Anzeigen kann.



  • Hi,

    warum regen sich denn einige sofort so auf? 😕

    Gebt doch tipps wie er es besser machen kann 👍

    Hier einige Tipps von mir:

    - Verwende bitte Codetags bei Quellcode den du postest, das ist einfacher
    zu lesen.

    - Poste die Fehlermeldung mit

    Zu deinem Problem:

    Ich habe mich bisher noch nicht mit DirectX beschäftigt, aber dein Problem
    ist, das GetRepeats einen Zeiger auf ein DWORD benötigt, indem die Funktion
    den Wert hineinschreibt. Du must also die Adresse übergeben.

    void CDMusicTest2Dlg::OnBnClickedZeigebutt() 
    { 
      DWORD dRepeatData; 
    
      if ( SUCCEEDED(segment->GetRepeats(&dRepeatData)) )
      // beachte                         ^ Adressoperator
      {
        m_Anzeige.Format("%d", dRepeatData); 
    
        UpdateData(FALSE); 
      }
    }
    

    Ich hoffe das hilft weiter...

    Gruss
    EB

    P.S unbedingt Englisch lernen!



  • wooov dankee.. EarlyBird

    Es Klappt ich kann es jetz anzeigen 🙂

    ich verstehe nicht was das problem wahr ich kanns wirklich nicht besser
    ich bin musiker und kein programmirer aber möchte als musiker auch ein programm schreiben wenn jemand über Akkorde etwas wissen möchte kann ich seher gerne helfen aber wenns um programmiren geht brauche ich hilfe.

    Danke nochmals EarlyBird jetz kann ich weiter machen..

    Grüße Can



  • es ging mir nur darum das deine frage schlecht gestellt ist.

    wenn du sagst "klappt nicht" können wir nicht viel damit anfangen.

    das mindeste was man machen kann ist die fehlermeldung zu posten.


Anmelden zum Antworten