Jacob COM Bridge Problem mit dll

neomon

Mitglied
Hallo zusammen,

ich hoffe ich finde hier ein paar Leute, die sich ein wenig mit COM Programmierung in Java bzw Jacob auskennen. Habe mir die Version 1.13 M4 runtergalden. Das Problem ist jetzt, dass ich folgenden Fehler bekomme:

Fehler bei...

x86 dll :

Exception in thread "AWT-EventQueue-1" java.lang.UnsatisfiedLinkError: C:\WINNT\system32\jacob.dll: Diese Anwendung konnte nicht gestartet werden, weil die Anwenungskonfiguration nicht korrekt ist. Zur Problembehebung sollten Sie die Anwendung neu installieren

Habe auch eine 32bit Windows Version also es kann nicht dran liegen, dass ich die falsche der beiden dlls benutze habe es nämlich auch schon mit der amd64 dll ausprobiert.... :confused:

Freue mich über jeden der hierzu etwas beitragen kann :)

mfg andreas
 
Wo liegt denn die dll auf Deinem Rechner? Habe mit Jacob leider noch keine Erfahrung, da ich mit JavaX arbeite, aber die Fehlermeldung klingt ganz danach, daß er die Treiber-Datei nicht finden kann...
 
Hallo,
ich hab auch das Problem mit der aktuellen Jacob Version (1.1.3 M5) unter Windows 2003 Server, unter XP Pro gehts. Wenn ich die 1.1.2 (final) nehme dann geht's bei mir auch auf dem 2003 Server.

grüße
-s.
 
Habe jetzt auch mal die 1.12 genommen, mit der krieg ich den alten Fehler auch nich mehr ...

Allerdings kommt jetzt folgender Fehler :

Code:
Exception in thread "AWT-EventQueue-1" java.lang.IllegalStateException: Dispatch not hooked to windows memory
	at com.jacob.com.Dispatch.throwIfUnattachedDispatch(Dispatch.java:335)
	at com.jacob.com.Dispatch.get(Dispatch.java:1311)
	at Dropzone.DTListenerJ.drop(DTListenerJ.java:37)
	at java.awt.dnd.DropTarget.drop(Unknown Source)
	at sun.awt.dnd.SunDropTargetContextPeer.processDropMessage(Unknown Source)
	at sun.awt.dnd.SunDropTargetContextPeer.access$800(Unknown Source)
	at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchDropEvent(Unknown Source)
	at sun.awt.dnd.SunDropTargetContextPeer$EventDispatcher.dispatchEvent(Unknown Source)
	at sun.awt.dnd.SunDropTargetEvent.dispatch(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processDropTargetEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

Hier der zugehörige Sourcecode :

Code:
	public void drop(DropTargetDropEvent dtde) {
		ActiveXComponent xl = new ActiveXComponent("Outlook.Application");

		Dispatch explorer = Dispatch.get(xl,"ActiveExplorer").toDispatch();
		Dispatch selection = Dispatch.get(explorer, "Selection").toDispatch();
		Variant count = Dispatch.get(selection, "Count");

		for (int mailIndex = 1; mailIndex <= count.toInt(); mailIndex++ ) {

			Dispatch mailItem = Dispatch.call(selection, "Item", new Variant(mailIndex)).toDispatch();

			Variant senderName = Dispatch.get(mailItem, "SenderName");
			Variant subject = Dispatch.get(mailItem, "Subject");
			Variant body = Dispatch.get(mailItem, "Body");

			String emailFileName = subject.toString() +".txt";

			String fullPath = "C:\\bla" + File.pathSeparator + emailFileName;
			try {
				File email = new File(fullPath);
				PrintWriter writer = new PrintWriter( new FileWriter(email) );
				writer.println("From: "+ senderName );
				writer.println("Subject: "+ subject);
				writer.println("");
				writer.print( body );
				writer.close();
			}
			catch (IOException e) {
				System.out.println("IOException writing e-mail with subject: '"+ subject +"'");
				continue;
			}

			Dispatch attachments = Dispatch.get(mailItem, "Attachments").toDispatch();
				Variant attachmentCount = Dispatch.get(attachments, "Count");

				if ( attachmentCount.toInt() > 0 ) {

					for( int attachmentIndex = 1; attachmentIndex<=attachmentCount.toInt(); attachmentIndex++ ) {

						Dispatch attachment = Dispatch.call(attachments, "Item", new Variant(attachmentIndex)).toDispatch();
						Variant fileNameVariant = Dispatch.get(attachment, "FileName");
						String fileName = fileNameVariant.toString();

						Variant saveResult = Dispatch.call(attachment, "SaveAsFile", "C:\\bla"+File.pathSeparator+fileName);
					}
				}
			}

		}

Kann mir da jemand weiterhelfen?
 
Zurück