Zitat von
SirThornberry:
Mach daraus einfach einen neuen Typ und legen einen Pointer auf diesen Typ an. Und dann diesen Pointer typ verwenden.
Delphi-Quellcode:
TDokumentArr = array[1..9999] of TDokument;
PDokumentArr = ^TDokumentArr;
mmh, ich hab scheinbar grad einen rechten knopf
wie geh ich denn da weiter vor?
ich hab mir das weiter überlegt, ungefähr so:
Delphi-Quellcode:
type TDocument = record
ID: cardinal;
Number: string;
Title: string;
usw..
end;
var // global
OldDocDB: array[1..9999] of TDocument;
NewDocDB: array[1..9999] of TDocument;
EditDocDB: Pointer;
first_time_flag: bool;
procedure ich_werde_bei_content_aufgerufen(Sender, Content, ...);
begin
if aktuelles_file = altes_file and first_time_flag=0 then
begin
EditDocDB = @OldDocDB;
first_time_flag=1;
end;
if aktuelles_file = neues_file and first_time_flag=0 then
EditDocDB = @NewDocDB;
first_time_flag=1;
end;
if CurrTag='Number' then TDocument(EditDocDB[CurrID]^).Number:=Content;
if CurrTag='Title' then TDocument(EditDocDB[CurrID]^).Title:=Content;
usw...
end;
(first_time_flag benutze ich, dass nur beim ersten durchlauf der Pointer gesetzt wird, sonst wird doch jedes mal wieder an die erste stelle verwiesen?)
kann das so funktionieren?
damit ich in OldDocDB die einträge des alten files und in NewDocDB die des neuen habe?
vielen dank...
Ut sementem feceris, ita metes.
Nosce te ipsum!(Inschrift in Delphi, nach Cicero)