Hallo,

ich habe in meiner Message-DB viele alte Nachrichten, für die die
Bezugsverkettung nicht funktioniert.

Die Ursache dafür ist, dass in den betroffenen Fällen der BEZ in spitzen
Klammern steht.  Beim Bilden der Pseudo CRC32 über den BEZ werden die
Klammern mit berücksichtigt.
Beim Suchen einer korrespondierenden MID (über die BEZUEGE.DB1) für den
Kommentarbaum kann diese nicht gefunden werden, da sich bei der Bildung
der CRC32 für die MID natürlich eine andere CRC32 ergibt (hat halt keine
eckigen Klammen).

Ein quick und dirty Versuch zur Problembehebung war nicht erfolgreich:

[xp1o.pas]

<-------------------------------------------------------------->
function GetBezug(var ref:string):longint;
var pos : longint;
var zwiref : string; { HJT 14.08.2005 }
begin
  { HJT 14.08.2005 start }
  zwiref := ref;
  if left(zwiref,1)='<' then delfirst(zwiref);
  if right(zwiref,1)='>' then dellast(zwiref);
  { dbSeek(bezbase,beiMsgid,dbLongStr(MsgidIndex(ref))); }
  dbSeek(bezbase,beiMsgid,dbLongStr(MsgidIndex(zwiref)));
  { HJT 14.08.2005 end }
  if dbFound then begin
    pos:=dbReadIntN(bezbase,bezb_msgpos);
    dbGo(mbase,pos);
    if dbDeleted(mbase,pos) then
      GetBezug:=0
    else
      GetBezug:=pos;
    end
  else
    GetBezug:=0;
end;
<-------------------------------------------------------------->

any hints?

Gruss
        Hans-Juergen
------------------------------------------------------------------------
FreeXP Entwickler-Mailingliste
[email protected]
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list

Antwort per Email an