Hallo zusammen,
ich bin neu hier und hoffe, dass ihr mir helfen könnt. Ich habe hier auf der Arbeit ein halbfertiges Programm von meinem Vorgänger übernommen, dass die Java-COM-Bridge Jacob nutzt, um ein anderes Programm anzusprechen (KSPhonet.ocx bzw. FuzzyDupes, falls das jemandem was sagt). Die wichtigen Methoden, die u.a. ein VariantArray als Eingabeparameter nehmen, verursachen beim Aufruf leider immer einen Fehler:
Und so weiter. ich kann auch das ganze Ding posten, wenn gewünscht, aber ich weiß nicht, ob das was bringt. Jedenfalls hab ich keine Ahnung, was man da machen könnte. Selbst den Entwickler von FuzzyDupes habe ich schon angeschrieben, der meinte, er kennt sich mit Jacob nicht aus, aber ich solle mal das Eingabe-Array (OleVariantArray) überprüfen. Ich dachte mir, vielleicht ist der nicht ganz in Ordnung? Es muss ein zweidimensionaler Array sein, der folgendermaßen erstellt wird:
Kann mir vielleicht jemand sagen, ob das so in Ordnung sein müsste, oder wo der Fehler liegen könnte?
Vielen Dank!
PS: Die Doku zu KSPhonet findet ihr hier: http://www.kroll-software.de/products/fuzzydupescom/KSPhonetDoc.html
Probleme hatte ich mit den metodes fuzzyMatch() und dupeSearch(). Methoden ohne Parameter (reset()) gehen einwandfrei, auch die license()-Methode, die zwei Strings in Variant-Form übergeben bekommt.
ich bin neu hier und hoffe, dass ihr mir helfen könnt. Ich habe hier auf der Arbeit ein halbfertiges Programm von meinem Vorgänger übernommen, dass die Java-COM-Bridge Jacob nutzt, um ein anderes Programm anzusprechen (KSPhonet.ocx bzw. FuzzyDupes, falls das jemandem was sagt). Die wichtigen Methoden, die u.a. ein VariantArray als Eingabeparameter nehmen, verursachen beim Aufruf leider immer einen Fehler:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x6d8fdd45, pid=752, tid=5096
#
# JRE version: 6.0_21-b06
# Java VM: Java HotSpot(TM) Client VM (17.0-b16 mixed mode, sharing windows-x86 )
# Problematic frame:
# V [jvm.dll+0xfdd45]
#
Und so weiter. ich kann auch das ganze Ding posten, wenn gewünscht, aber ich weiß nicht, ob das was bringt. Jedenfalls hab ich keine Ahnung, was man da machen könnte. Selbst den Entwickler von FuzzyDupes habe ich schon angeschrieben, der meinte, er kennt sich mit Jacob nicht aus, aber ich solle mal das Eingabe-Array (OleVariantArray) überprüfen. Ich dachte mir, vielleicht ist der nicht ganz in Ordnung? Es muss ein zweidimensionaler Array sein, der folgendermaßen erstellt wird:
Code:
public static Variant create2DimVariant(String[][] values) {
int sizeX = values.length;
int sizeY = values[0].length;
int[] lbounds = new int[2];
int[] sizes = new int[2];
sizes[0] = sizeX;
sizes[1] = sizeY;
SafeArray records = new SafeArray(Variant.VariantVariant, lbounds, sizes);
for (int i=0; i<values.length; i++) {
for (int j=0; j<values[i].length; j++) {
records.setString(i, j, values[i][j]);
}
}
Variant v = new Variant();
v.putSafeArray(records);
return v;
}
Vielen Dank!
PS: Die Doku zu KSPhonet findet ihr hier: http://www.kroll-software.de/products/fuzzydupescom/KSPhonetDoc.html
Probleme hatte ich mit den metodes fuzzyMatch() und dupeSearch(). Methoden ohne Parameter (reset()) gehen einwandfrei, auch die license()-Methode, die zwei Strings in Variant-Form übergeben bekommt.