Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi win32 als .Net kompilieren ? (https://www.delphipraxis.net/46259-win32-als-net-kompilieren.html)

smart 21. Mai 2005 15:13


win32 als .Net kompilieren ?
 
Kann man eigentlich mit Delphi 2005, Programme die für win32 geschrieben wurden als .Net kompilieren ?

Dax 21. Mai 2005 15:16

Re: win32 als .Net kompilieren ?
 
Wenn du die Sourcen des Programmes hast, prinzipiell ja. Das heißt, sofern alle genutzten Komponenten auch in .NET-Sourcenform vorliegen, dann geht das. Einfach nach .NET portieren lassen ;)

Robert_G 21. Mai 2005 15:17

Re: win32 als .Net kompilieren ?
 
Nicht wirklich...
Du kannst versuchen sie mit der VCL.Net zu kompostieren. Das Ergebnis ist dann so eine Mischung aus .Net und Win32 Invokes, die wesentlich langsamer als reine .Net oder reine Win32 Programme läuft.
Mit 5.000 IfDefs könnte es aber auch ohne VCL.Net und ohne Übersicht gehen. :mrgreen:

smart 21. Mai 2005 15:55

Re: win32 als .Net kompilieren ?
 
Also ist es besser für .Net einen eigenen Code zu schreiben, oder?

Robert_G 21. Mai 2005 16:12

Re: win32 als .Net kompilieren ?
 
Zitat:

Zitat von smart
Also ist es besser für .Net einen eigenen Code zu schreiben, oder?

Es steckt einfach eine ganz andere "Philosophie" hinter .Net als hinter good old native. ;)
.Net ist eine VM mit einem JIT, das alleine macht Dinge möglich, die vorher nur sehr schwierig implementierbar gewesen wären.
Auf der anderen Seite kannst du Dinge wie untyped Pointer knicken. Es gibt einen IntPtr, aber IMHO taugt der nur zur Kompatibilität zu Handles. ;)

Dust Signs 21. Mai 2005 16:21

Re: win32 als .Net kompilieren ?
 
Zitat:

Zitat von Robert_G
Zitat:

Zitat von smart
Also ist es besser für .Net einen eigenen Code zu schreiben, oder?

Es steckt einfach eine ganz andere "Philosophie" hinter .Net als hinter good old native. ;)
.Net ist eine VM mit einem JIT, das alleine macht Dinge möglich, die vorher nur sehr schwierig implementierbar gewesen wären.
Auf der anderen Seite kannst du Dinge wie untyped Pointer knicken. Es gibt einen IntPtr, aber IMHO taugt der nur zur Kompatibilität zu Handles. ;)

Aber was ist Programmierung ohne Pointer? Wenn .NET sich mal bis zu den Schulen durchsetzt... was sagt dann der Lehrer? Ja, leider gibt's in .NET keine Zeiger mehr, also lassen wir sie aus... und die verketteten Liste, und das ganze andere Zeug auch... Das kann's doch nicht sein; ich will Pointer :cry:

Dust Signs

MathiasSimmack 21. Mai 2005 16:29

Re: win32 als .Net kompilieren ?
 
Ich habe sie bisher noch nicht groß vermisst. :stupid:

Phoenix 21. Mai 2005 17:22

Re: win32 als .Net kompilieren ?
 
Zitat:

Zitat von Dust Signs
Wenn .NET sich mal bis zu den Schulen durchsetzt... was sagt dann der Lehrer?

Der Freut sich wie noch was :stupid:
Ich denke, er wird sagen: "Jungs und Mädels: Das, was die damals mit Pointern alles verbogen haben, darum brauchen wir uns dem Himmel (bzw. Microsoft) sei Dank nicht mehr zu kümmen. Ich zeig Euch jetzt mal, was Typsicherheit bedeutet..."

jbg 21. Mai 2005 17:23

Re: win32 als .Net kompilieren ?
 
Zitat:

Zitat von Dust Signs
Aber was ist Programmierung ohne Pointer?

Man hat doch Referenzen. Die ersetzen die Pointer.

Zitat:

und die verketteten Liste
Die funktioniert immernoch:
Delphi-Quellcode:
TItem = class(TObject)
  Next: TItem;
  Data: Integer;
end;

var
  List: TItem = nil;

Johnny_W 21. Mai 2005 17:28

Re: win32 als .Net kompilieren ?
 
Hiho,

@Dust Signs, wenn du unbedingt Pointer benutzen möchtest.

Ein Beispiel um einen PChar benutzen zu können:

Die Compilerdirektive {$UNSAFECODE ON} an den Anfang der Unit setzen;

Delphi-Quellcode:
Tform1 = Class(TForm)
//....
  private
     procedure UnsichereProzedur;unsafe;
//....

procedure TForm1.UnsichereProzedur;unsafe;
var
  Px: PChar;
begin
  //....
end;
Also referieren kann der Lehrer schon noch darüber und brauch sich keine Sorgen um seinen Arbeitsplatz zu machen. :roll:

MfG :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz