Automation Server; Methoden Reihenfolge

1. Juni 2011 12:15

Hallo,
ich habe mir eine DLL mit C# geschrieben, welche mehrer Methoden beinhalten.
Diese funktioniert auch wie gewünscht nur wenn ich im C#-Projekt eine neue Methode nicht am Ende hinzufüge kommt es zu einen Problem.
Beispiel: ich habe folgende Methoden in der Reihenfolge A B und C. Danach habe ich in Navision dies in eine Form eingebunden und die Methoden verwenden (NAVVar.A usw).
Wenn ich nun im C#-Projekt eine Methode D vor C einfüge und diese kompilierte DLL wieder registriere wird in Navision aus NAVVar.C plötzlich NAVVar.D.

Wo liegt hier das Problem.

lg
stony

Re: Automation Server; Methoden Reihenfolge

1. Juni 2011 14:04

das hängt mit der DispId im c# Projekt zusammen. Definierst Du pro funktion manuell fix eine DispId? Automatische Nummerierung führt zu Deinem Fehler.

Bsp:

Code:
  [Guid ("1533D027-C22A-585E-058E-56A218149D23")]
  [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIDispatch)]
  public interface TimerEvents
  {
    [DispId (0x60020000)]
    void Elapsed();
  }

  [ComVisible(true)]
  public interface ICOMTimer
  {
    double Interval {get; set;}
    void Start ();
  }

Re: Automation Server; Methoden Reihenfolge

1. Juni 2011 14:07

Nein mache ich nicht. Besten Dank für die Info.
Wo kann ich das nachlesen bzw. ein Beispiel dazu finden.

Re: Automation Server; Methoden Reihenfolge

1. Juni 2011 14:08

zB

http://msdn.microsoft.com/en-us/library/aa973247.aspx

Re: Automation Server; Methoden Reihenfolge

1. Juni 2011 14:19

Heißt das ich in jeder Methode einfach diese Dispid definiere bzw. kann ich dies mit 1,2 usw. fortlaufend durchnumerieren.
z.B.:
Code:
public bool Werteholen()
{
[DispId(1)]
....
}
public bool Werteschreiben()
{
[DispId(2)]
....
}