AGB  ·  Datenschutz  ·  Impressum  







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

Create oder enabled := true?

Ein Thema von braingrenade · begonnen am 30. Mär 2003 · letzter Beitrag vom 15. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#1

Create oder enabled := true?

  Alt 30. Mär 2003, 16:13
Moin leute !

Also , ich hab ein array von nem Object und nun ist die frage was mir mehr Perfomance bringt :

1. Ich create jedes object dann wenn es gebraucht wird und destroye es wieder sobald ich's nicht mehr brauche.

oder

2. Ich create die objecte von Anfang an alle und setzte enabled auf true sobald eines gebraucht wird und wieder auf false wenn ich's nicht mehr brauche.


Oder macht das keinen Unterschied ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2
  Alt 30. Mär 2003, 17:08
Wenn du die Instanzen sehr häufig zuerstörst und wieder erzeugst, dann ist das mit dem Enabled Status schneller. (Mit "sehr häufig" meine ich auch sehr häufig)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#3
  Alt 30. Mär 2003, 17:09
Das erstere ist auf jeden Fall viel rechenintensiver, wenn auch es u. U. weniger Speicherplatz benötigt. Bei jedem Create wird neuer Speicherplatz alloziert, dabeu kann es passieren, dass nachfolgender Speicherinhalt verschoben wird, was recht lange dauert.
Liegen allerdings Millionen von Objekten im Speicher, kann es mit dem RAM eng werden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 30. Mär 2003, 20:42
Danke Leute !

Ich werd dann wohl lieber die zweitere methode verwenden da ich das ganze für nen Schuss brauch !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#5
  Alt 2. Mai 2003, 15:23
Hallo ich habe noch eine Frage zum erstellen von objekten.

Ich brauche zu einer bestimmten zeit einen WebBrowser, und dieser soll später wieder destroyed werden!

Also hab ich das so: gemacht

Code:
    WebBrowser12.Create(true);
          Webbrowser12.Top:=368;
          WebBrowser12.Left:=8;
          WebBrowser12.Width:=201;
          WebBrowser12.Height:=97;
                    .
                    .
                    .
                    .
                    .
          WebBrowser12.destroy;
Wennn ich jetzt aber compiliere gibt es in der zweiten zeile eine fehlermeldung!:

for loop control variable mus be simple local Variable

Kann mir da vielleicht jemand helfen?
cu masters001
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#6
  Alt 2. Mai 2003, 15:26
Übersetz es doch mal: "Die Schleifenvariable muss eine lokale Variable sein"; du hast also eine for-Schleife mit einer globalen Schleifenvariable. Deklarier diese Variale lokal.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Christian S.
Christian S.

Registriert seit: 19. Apr 2003
Ort: Düsseldorf
835 Beiträge
 
#7
  Alt 2. Mai 2003, 15:28
Hört sich so an, als hättest Du da eine Schleife drum herum, bei der Du eine falsche Variable verwendest! Die Schleifenvariable sollte eine lokale Variable der Prozedur / Funktion sein, in der Du die Schleife verwendest.
Christian S.
Admin in der Entwickler-Ecke
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#8
  Alt 2. Mai 2003, 15:42
Ich glaub das lag daran das ich tru genommen hab:
WebBrowser12.Create(true);
Ich hab das jetzt mal mit:
WebBrowser12.Create(self);
ausprobiert und es lässt sich compilieren.

Ich hab das jetzt ungefähr in diesem Ablauf:

Code:
WebBrowser12.destroy;

WebBrowser12.Create(self);
Webbrowser12.Top:=368;
WebBrowser12.Left:=8;
WebBrowser12.Width:=201;
WebBrowser12.Height:=97;
Aber das will auch nicht so recht funktionieren.
Ist diese Methode überhaupt richtig um ein Objekt zu erstellen, oder muss ich da noch irgendwas beachten?

bei mir gibts jetzt immer so einen Access violation... Fehler.

Ich will eigentlich nur, das der Browser kurz zerstört wird und dann wieder erstellt?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9
  Alt 2. Mai 2003, 15:45
Delphi-Quellcode:
var
  wb : TWebBrowser;
begin
  wb := TWebBrowser.Create(self);
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
masters001

Registriert seit: 23. Dez 2002
78 Beiträge
 
#10
  Alt 2. Mai 2003, 16:11
Code:
    WebBrowser12:= TWebBrowser.Create(self);
          WebBrowser12.show;
          Webbrowser12.Top:=368;
          WebBrowser12.Left:=8;
          WebBrowser12.Width:=201;
          WebBrowser12.Height:=97;
          WebBrowser12.show;
Das funktioniert so weit, aber der Browser wird irgendwie nicht angezeigt?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:26 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