AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[Bug?] Delphi ist zu langsam?

Ein Thema von The Riddler · begonnen am 17. Nov 2008 · letzter Beitrag vom 17. Nov 2008
Antwort Antwort
Seite 4 von 4   « Erste     234   
The Riddler
(Gast)

n/a Beiträge
 
#31

Re: [Bug?] Delphi ist zu langsam?

  Alt 17. Nov 2008, 16:10
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.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#32

Re: [Bug?] Delphi ist zu langsam?

  Alt 17. Nov 2008, 16:10
Puffern kannst du übrigens ungefähr so:
Delphi-Quellcode:
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;
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
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#33

Re: [Bug?] Delphi ist zu langsam?

  Alt 17. Nov 2008, 16:16
Zitat von The Riddler:
Ü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.
Einen Thread kann der User auch nur dann beenden, wenn der Programmierer ihm diese Möglichkeit gibt.

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:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose := Not Assigned( FMyThread );
end;
cu

Oliver
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#34

Re: [Bug?] Delphi ist zu langsam?

  Alt 17. Nov 2008, 16:30
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;
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#35

Re: [Bug?] Delphi ist zu langsam?

  Alt 17. Nov 2008, 17:19
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.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 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