Re: [Bug?] Delphi ist zu langsam?
Ich hab es ja bereits gelöst mit ProgressBars (zwei) und nem Label. Der Anwender sollte also nicht länger als 5s denken das das Programm eingefroren ist. ;=)
Übrigens kommt es mir gelegen das der User die Funktion nicht abbrechen kann, weil sonst nichts mehr funktionieren würde wenn die Funktion nicht bis zum Ende ausgeführt werden würde. :mrgreen: |
Re: [Bug?] Delphi ist zu langsam?
Puffern kannst du übrigens ungefähr so:
Delphi-Quellcode:
Andererseits ... durch Byteweisen Zugriff auf eine normale Festplatte förderst du die Flash-SSD-Festplatten, da diese dann einen echten Vorteil bieten. Falls du es schaffst, noch mehr Programmierer zu überreden, Byteweise und ungepuffert Daten zu lesen und zu schreiben, kannst du Arbeitsplätze in diesem Segement nachhaltig sichern :mrgreen:
var
fs: TFileStream; mem: TmemoryStream; begin fs := TFileStream.Create(FileName, fmOpenReadWrite or fmShareExclusive); mem := TMemoryStream.Create(); try mem.CopyFrom(fs, 0); // Mach was mit memstream fs.CopyFrom(mem, 0); finally mem.Free; fs.Free; end; end; |
Re: [Bug?] Delphi ist zu langsam?
Zitat:
Wenn du mein Beispiel-Programm daran hindern möchtest beendet zu werden, bevor der Thread entsorgt wurde, dann füg doch für das MainForm-Event folgenden Code hinzu:
Delphi-Quellcode:
cu
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin CanClose := Not Assigned( FMyThread ); end; Oliver |
Re: [Bug?] Delphi ist zu langsam?
Wenn es mit dem Buffern etwas komfortabler sein soll, kannst du auch die folgende Unit verwenden:
http://andorra.cvs.sourceforge.net/v...s?revision=1.6 Verwendung:
Delphi-Quellcode:
uses
..., AdBuffer; var fs: TFileStream; begin fs := TFileStream.Create('C:\test.mp3', fmCreate); QueryBufferedStream(fs); //Gebuffert auf den Stream zugreifen... FreeBufferedStream(fs); fs.Free; end; |
Re: [Bug?] Delphi ist zu langsam?
Nochmal zur allerersten Frage: Wenn es nur darum geht, dass ein Control sich neuzeichnen soll, ist die Method Update genau richtig. Damit kann es nämlich auch nicht passieren, dass ein weiterer Buttonklick empfangen wird.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz