AGB  ·  Datenschutz  ·  Impressum  







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

FreeMem D2009 und FastMM

Ein Thema von EWeiss · begonnen am 1. Mai 2011 · letzter Beitrag vom 2. Mai 2011
Antwort Antwort
Seite 2 von 2     12   
EWeiss
(Gast)

n/a Beiträge
 
#11

AW: FreeMem D2009 und FastMM

  Alt 1. Mai 2011, 19:20
Zitat:
Das ist doch richtig so?
Vielleicht denke ich in einer anderen Perspektive..

Bei D2006 wäre es Richtig wenn man
function CopyFileA; external kernel32 name 'CopyFileA'; verwenden würde
function CopyFileW; external kernel32 name 'CopyFileW'; und dieses um Unicode zeichen darzustellen.


function CopyFile; external kernel32 name 'CopyFileW'; wäre dann total überflüssig.

Meine Meinung..
Die Funktionen sind so definiert Doppelt gemoppelt.
Ein cast von einem cast.

So kannst du auch nicht sagen!
Zitat:
CopyFile wäre eh falsch, denn dieses will einen PChar.
Denn es erwartet kein PChar sondern ein PWideChar.
Wäre also beides richtig, wohlgemerkt unter D2009 nicht unter D2006


gruss

Geändert von EWeiss ( 1. Mai 2011 um 19:23 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#12

AW: FreeMem D2009 und FastMM

  Alt 1. Mai 2011, 19:29
Funktioniert überall und in jedem Delphi und nutzt das, was man standardmäßig in der VCL vorfindet:
Delphi-Quellcode:
procedure Kopieren(Src, Dest: String);
begin
  CopyFile(PChar(Src), PChar(Dest));
end;

CopyFile(PChar(SrcEdit.Text), PChar(DestEdit.Text));
Das ist dagegen überall ANSI und genauso geht es mit dem Unicode,
egal ob Delphi 7 oder Delphi XE:
Delphi-Quellcode:
procedure Kopieren(Src, Dest: AnsiString);
begin
  CopyFileA(PAnsiChar(Src), PAnsiChar(Dest));
end;
$2B or not $2B
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#13

AW: FreeMem D2009 und FastMM

  Alt 1. Mai 2011, 19:42
Funktioniert überall und in jedem Delphi und nutzt das, was man standardmäßig in der VCL vorfindet:
Delphi-Quellcode:
procedure Kopieren(Src, Dest: String);
begin
  CopyFile(PChar(Src), PChar(Dest));
end;

CopyFile(PChar(SrcEdit.Text), PChar(DestEdit.Text));
Das ist dagegen überall ANSI und genauso geht es mit dem Unicode,
egal ob Delphi 7 oder Delphi XE:
Delphi-Quellcode:
procedure Kopieren(Src, Dest: AnsiString);
begin
  CopyFileA(PAnsiChar(Src), PAnsiChar(Dest));
end;
Jo
Und Danke für deine Ausführungen.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#14

AW: FreeMem D2009 und FastMM

  Alt 1. Mai 2011, 20:29
Und genau das ist der Müll den Embagardo oder wer auch immer verzapft hat.
Ist m.E. eine sehr gute Idee das so zu machen.

Genau das Gleiche ist mit dem Integer und LongInt,
wobei hier wirklich jemand mist gebaut hat und urplötzlich, beim Umstieg von 32 auf 64 Bit den Integer eingefrohren hat.
Sun (Java), MS (.NET, Win64). Es wäre m.E. unpraktisch gewesen wenn man nur wegen "bisher ist Size(Int) = Size(Pointer)" das in D64-Bit gemacht hätte obwohl der Rest der Programmierwelt das nicht so macht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#15

AW: FreeMem D2009 und FastMM

  Alt 2. Mai 2011, 07:47
@Bernhard Geyer:
Ist schon irgendwie klar.

Wobei man das dann als ein Alleinstellunsmerkmal für Delphi hätte werten können.
In der Werbung hieße es dann "Alle anderen machen Mist und nur wir machen es richtig, so wie es früher mal geplant war."
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#16

AW: FreeMem D2009 und FastMM

  Alt 2. Mai 2011, 09:10
Wobei man das dann als ein Alleinstellunsmerkmal für Delphi hätte werten können.
In der Werbung hieße es dann "Alle anderen machen Mist und nur wir machen es richtig, so wie es früher mal geplant war."
Und man darf das fluchen Anfangen sobald man irgendwelche C-Header portieren darf bzw. definiert sich dort sein eigenes Int32_64 damit man nicht zig IFDEF's benötigt.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#17

AW: FreeMem D2009 und FastMM

  Alt 2. Mai 2011, 09:26
Wieso?
In C heißen die Typen doch eh alle anders, da braucht man dann nur int und Co. nach LongInt zu übersetzen, anstatt nach Integer.
$2B or not $2B
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#18

AW: FreeMem D2009 und FastMM

  Alt 2. Mai 2011, 12:37
In C heißen die Typen doch eh alle anders
Hast du dir schon mal dir WinAPI Header Dateien angeschaut? Da kommt eine Menge "int" als Parametertyp vor.

Das fängt schon beim CreateWindowEx an.
Code:
HWND WINAPI CreateWindowEx(
  __in     DWORD dwExStyle,
  __in_opt LPCTSTR lpClassName,
  __in_opt LPCTSTR lpWindowName,
  __in     DWORD dwStyle,
  __in     int x,
  __in     int y,
  __in     int nWidth,
  __in     int nHeight,
  __in_opt HWND hWndParent,
  __in_opt HMENU hMenu,
  __in_opt HINSTANCE hInstance,
  __in_opt LPVOID lpParam
);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 18:15 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