Hi zusammen
Danke für eure Antworten! In Bezug auf die generische Liste steht das ja so in der Help - ich war mir nur nicht sicher, ob ich das richtig verstanden habe. Inzwischen habe ich die entsprechende
Unit in meinem Projekt geöffnet und einen Haltepunkt gesetzt, so quasi für die letzte Bestätigung. Bei der nichtgenerischen Liste werde ich dies allerdings nicht tun, sondern einfach glauben, dass es so ist, da ich die ich eh nie verwenden werde.
Inzwischen hat sich aber ein neues "Problem" ergeben. In der folgenden Prozedur lösche ich alle TPdfViews aus der Liste, wenn ich eine neue PDF öffne:
Delphi-Quellcode:
procedure TRogersPdfFrame.DeletePdfListObjects;
var i: Integer;
begin
i := 0;
HomeOfficerMainForm.EdiBeforeDelete.Text := 'BeforeDelete: '+ IntToStr(FPdfList.Count);
while i <= FPdfList.Count-1 do
begin
if FPdfList.Items[i].Active then
begin
FPdfList.Items[i].Active := False;
FPdfList.Delete(i);
end;
inc(i);
end;
HomeOfficerMainForm.EdiAfterDelete.Text := 'AfterDelete : '+ IntToStr(FPdfList.Count);
end;
Die Anweisungen an die Edits 'EdiBeforeDelete' und 'EdiAfterDelete' dienten mir zur Kontrolle, da ich mir erst nicht sicher war, dass auch alle TPdfViews(die Items der Liste) gelöscht werden. Der Wert von 'EdiBeforeDelete' ist dabei immer 1, unabhängig davon,
wie gross FPdfList.Count tatsächlich ist. Der andere Wert ist 0.
Ich hab das gerade nochmal getestet. Dabei ist mir Delphi eiingefroren, und ich musste das Ding mit dem Taskmanager abschiessen. Nachdem ich das erste mal ein neues PDF geöffnet hatte:
Anschliessend versuchte ich nochmal, eine neue PDF zu öffnen - abschuss. *
In der Listbox links eben dem Pdf trage ich jedesmal, wenn ich ein neues PDFView erzeuge, dessen Namen ein. Die ist also korrekt.
Kurz, bevor ich Delphi abschiessen musste, viel mir auf, dass das Edit 'EdiBeforeDelete' den Wert 3 anzeigte...
Gruss
Delbor
PS: Das mit dem Abschuss hielt ich erst für ziemlich 'mysteriös', habmir dann jedoch die drei nächsthöheren PDFs mal angesehen. Die sind zwischen knappen 6000 und guten 30'000 kb gross. Ich hätte Delphi also wohl nicht abschiesssen müssen, sonder nur noch etwas Geduld haben müssen. Oder in Zukunft begindoc und enddoc einbauen...