[Java] COM Aufruf bzw Dispatch.call

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von SchOudeBläS, 26. Oktober 2008 .

Schlagworte:
  1. 26. Oktober 2008
    COM Aufruf bzw Dispatch.call

    Hi,
    sry hab mal wieder ein unlösbares Problem für mich!

    Ich habe hier ne Funktion:
    Code:
     File cover = new File(_Main.currentImage);
     String filePath = cover.getAbsolutePath();
    
     ComThread.InitMTA(true);
    
     ActiveXComponent iTunesCom = new ActiveXComponent("iTunes.Application");
    
     Dispatch iTunesController = (Dispatch) iTunesCom.getObject();
     
     Dispatch.call(iTunesController,"AddArtworkFromFile",filePath);
    
     ComThread.Release();
    Sie soll auf itunes zugreifen un dort AddArtworkFromFile aufrufen mit dem filePath jedoch funktioniert das nicht bekomme diesen Error:
    Code:
    Exception in thread "AWT-EventQueue-0" com.jacob.com.ComFailException: Can't map name to dispid: AddArtworkFromFile
     at com.jacob.com.Dispatch.invokev(Native Method)
     at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
     at com.jacob.com.Dispatch.callN(Dispatch.java:455)
     at com.jacob.com.Dispatch.call(Dispatch.java:544)
     at iTunes.ITunesPlayHandler.AddCover(ITunesPlayHandler.java:82)
     at Main.CoverLoadMainForm.jButton8ActionPerformed(CoverLoadMainForm.java:531)
     at Main.CoverLoadMainForm.access$1200(CoverLoadMainForm.java:24)
     at Main.CoverLoadMainForm$12.actionPerformed(CoverLoadMainForm.java:191)
     at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
     at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
     at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
     at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
     at java.awt.Component.processMouseEvent(Component.java:6134)
     at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
     at java.awt.Component.processEvent(Component.java:5899)
     at java.awt.Container.processEvent(Container.java:2023)
     at java.awt.Component.dispatchEventImpl(Component.java:4501)
     at java.awt.Container.dispatchEventImpl(Container.java:2081)
     at java.awt.Component.dispatchEvent(Component.java:4331)
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301)
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965)
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895)
     at java.awt.Container.dispatchEventImpl(Container.java:2067)
     at java.awt.Window.dispatchEventImpl(Window.java:2458)
     at java.awt.Component.dispatchEvent(Component.java:4331)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
     at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
     at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    
    So sieht die Hilfe zur Funktion aus:
    Code:
    HRESULT IITTrack::AddArtworkFromFile ( [in] BSTR filePath, 
     [out, retval] IITArtwork ** iArtwork 
     ) 
     
     Add artwork from an image file to this track. 
    
    
    Parameters:
     filePath The full path to the image file containing artwork to add. 
     iArtwork Returns an IITArtwork object representing the new artwork. 
    
    Return values:
     S_OK The operation was successful. 
     E_POINTER filePath or iArtwork is NULL. 
     E_INVALIDARG filePath is empty or too long. 
     ITUNES_E_OBJECTDELETED This track has been deleted. 
     E_FAIL An unexpected error occurred. 
     
    
    aufrufe ohne parameter funktionieren einwandfrei mit meiner Funktion

    danke für eure Hilfe
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.