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