Absturz HBCI-Einrichtung (war: [gnucash-de] gnucash-1.8.4)

Christian Stimming stimming at tuhh.de
Don Jun 5 16:32:48 CDT 2003


Hihi, "remote debugging"...

Falk Pauser schrieb:
>>Und wo wir schon mal dabei sind, füge doch bitte um die Zeile 1002
>>herum folgende beiden Ausgabebefehle ein:
>>
>>   fprintf(stderr, ); tmp=_findMediumPlugin(mtype);
>>   fprintf(stderr, "API::_ensureMediumPlugin: after
>>   _findMediumPlugin\n");
> 
> das gibt mir:
> -----------------------------------------------------------------------
> api.cpp:1052: `HBCI::fprintf' cannot be used as a function 

Das bezieht sich schon auf die andere Änderung. Also beides nochmal ohne 
die fprintf-Funktion:

// Zeile 1043 und folgende
MediumType API::mediumType(const string &mtype) {
   Pointer<MediumPlugin> tmp;

   try {
     tmp=_ensureMediumPlugin(mtype);
     return tmp.ref().mediumType();
   }
   catch (Error err) {
     std::cerr << "API::mediumType: Caught error: " << err.errorString()
	<< std::endl;
     return MediumTypeUnknown;
   }
}

// und um Zeile 1002 herum
   std::cerr << "API::_ensureMediumPlugin: before _findMediumPlugin\n");
   tmp=_findMediumPlugin(mtype);
   std::cerr << "API::_ensureMediumPlugin: after _findMediumPlugin\n");

> so, openhbci liegt jetzt neu kompiliert vor und ist installiert -
> gnucash crasht jetzt folgendermasssen:

leider noch genauso wie vorher. Es geht mir darum, wo als letztes eine 
Funktion aus openhbci benutzt wird -- erkennbar am HBCI_ Anhängsel. Die 
hatten wir ja eben schon:

> #7  0x417cc7c5 in HBCI::API::_ensureMediumPlugin (this=0x8372868, 
>     mtype=@0xbfffe1a0) at api.cpp:999
> #8  0x417cf6ae in HBCI::API::mediumType (this=0x8372868,
> mtype=@0xbfffe1a0)    at api.cpp:1043
> #9  0x417e16c1 in HBCI_API_mediumType (h=0x8372868, mtype=0x4163e40f
> "DDVCard")    at api.cpp:1485

Denn hier fragt gnucash an OpenHBCI, ob eine DDVCard unterstützt wird, 
und die Antwort sollte einfach lauten "nein" (denn du hast es ja nicht 
reincompiliert und brauchst es ja auch nicht). Aber stattdessen gibt es 
irgendeinen blöden Fehler innerhalb der API::_ensureMediumPlugin 
Funktion, und ich weiß nicht, welchen. Kannst du mit den obigen 
std::cerr-Ausgaben nochmal kompilieren und ausprobieren? Danke vielmals.

Christian