AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Werte unter Delphi XE2 zuweisen !?

Ein Thema von roga · begonnen am 8. Apr 2012 · letzter Beitrag vom 8. Apr 2012
Antwort Antwort
Seite 2 von 2     12
Popov

Registriert seit: 15. Mai 2005
Ort: Köln
1.601 Beiträge
 
#11

AW: Werte unter Delphi XE2 zuweisen !?

  Alt 8. Apr 2012, 15:05
Die Nachteile überwiegen definitiv
Das ist übertrieben. Ich verwende with excesiv. Manchmal ertappe ich mich dabei, dass ich mich selbst über mich ärgere, denn manchmal gehe auch ich für mich zu weit. Kaum kann ich zwei Bezeichner abkürzen, schon steht ein with dort. Manchmal sind with do begin end; mehr Schreibarbeit als was ich mir mit with spare. So sehr liegt mir das inzwischen im Blut. Was ich damit sagen will ist - ich verwende es nicht gelegentlich, sondern extrem viel. Deshalb kann ich gut überblicken ob die Vor- oder Nachteile überwiegen.

Wenn man meine ganzen Probleme mit with in den Jahren hoch rechnet, dann kann ich sie im wahrsten Sinne an einer Hand abzählen.

Das mit dem Debuger ist eine andere Sache, aber auch hier ist es nur eine Frage der Technik und schon klappt es wieder.

Ok, wer with nur gelegentlich anwendet, für den überwiegen die Nachteile wahrscheinlich. Aber nicht für den der sehr viel damit arbeitet.

Allerdings gebe ich zu, dass das mit Rect und Left tatsächlich unglücklich ist.
Popov
Abrakadabra, Embarcadero, dreimal schwarzer Kater...
  Mit Zitat antworten Zitat
Benutzerbild von roga
roga

Registriert seit: 15. Jun 2008
Ort: Sachsen-Anhalt
91 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Werte unter Delphi XE2 zuweisen !?

  Alt 8. Apr 2012, 15:31
Die Ursache war einfach die neue und auch sinnvolle Erweiterung des TRect um Width und Height, die gab es halt zum Zeitpunkt der Erstellung noch nicht. Mal sehen, was die weitere Umstellung auf XE2 noch an Überraschungen bringt, die meisten Sachen laufen aber ohne Probleme. Anders sieht es bei Fremdkomponenten aus wie z.B. die DLLLoader.pas (BASS), die ich in älteren Spielen für die mp3-Wiedergabe nutze. Hier schmiert das Programm direkt beim Start ab, bleibt aber noch im Task-Manager drin.

Delphi-Quellcode:
IF ASSIGNED(Stream) THEN BEGIN
  Stream.Seek(0, soFromBeginning);
  IF Stream.Size>0 THEN BEGIN
   IF ReadImageHeaders THEN BEGIN
    IF InitializeImage THEN BEGIN
     IF ReadSections THEN BEGIN
      IF ProcessRelocations THEN BEGIN
       IF ProcessImports THEN BEGIN
        IF ProtectSections THEN BEGIN
         IF InitializeLibrary THEN BEGIN // Exception
          IF ProcessExports THEN BEGIN
           RESULT:=TRUE;
          END;
         END;
        END;
  ...
Hier die entsprechende Function:
Delphi-Quellcode:
FUNCTION InitializeLibrary:BOOLEAN;
 BEGIN
  RESULT:=FALSE;
  @DLLProc:=ConvertPointer(ImageNTHeaders.OptionalHeader.AddressOfEntryPoint);
  IF DLLProc(CARDINAL(ImageBase),DLL_PROCESS_ATTACH,NIL) THEN BEGIN
   RESULT:=TRUE;
  END;
 END;
Aber das wäre nicht ganz so gravierend, da die Spiele nicht weiterentwickelt werden.
Ronald
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
24.844 Beiträge
 
Delphi XE3 Professional
 
#13

AW: Werte unter Delphi XE2 zuweisen !?

  Alt 8. Apr 2012, 16:14
Die Frage ist eher, warum dort jemand versucht die DLL manuell zu laden und nicht die vorhandenen APIs nutzt?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2012
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2013 by Daniel R. Wolf