2009-04-20 4 views
3

Ich bin verantwortlich für die Portierung einer Delphi 2007-Anwendung auf C# und habe absolut keine Erfahrung mit Delphi. Ich frage mich, was ist der Unterschied zwischen den beiden Indy-Versionen Delphi enthält - Indy 9 und Indy 10. An diesem Punkt weiß ich nicht einmal, was ein Indy ist. Kann mir jemand helfen? Sind das nur verschiedene Versionen der Delphi-Bibliothek? Was sind die Auswirkungen der Verwendung des einen oder anderen?Was ist der Unterschied zwischen Indy 9 und Indy 10?

Danke!

+5

Dies ist eine Art Off-Topic, aber Ihr Unternehmen macht zwei große Fehler. Erstens ist es eine sehr schlechte Idee, funktionierende Software neu zu erfinden. (http://www.joelonsoftware.com/articles/fog0000000069.html) Zweitens, wenn sie es unbedingt tun müssen, brauchen sie jemanden, der sowohl Delphi und C# versteht oder das fertige Produkt ist praktisch garantiert ein Durcheinander. –

+0

Nun, ich bin bei dir, dass jemand, der mit beiden Sprachen vertraut ist, die Konvertierung machen sollte, aber zu deinem anderen Punkt stimme ich nicht zu (für unser spezifisches Problem) Ja, das Programm funktioniert, aber es muss von Zeit zu Zeit aktualisiert werden bewegt sich komplett von Delphi weg. Es gibt hier immer weniger Entwickler, die Delphi kennen, also macht es für mich Sinn. – JimDaniel

+0

Es gibt eine .Net-Version von Indy 10. Ihr Portierungsjob ist möglicherweise einfacher als Sie erwarten. –

Antwort

6

Indy neu ist die Abkürzung für Internet Direct, eine offene -source-Bibliothek für das Netzwerk. Es ist am häufigsten für Internet-bezogene Dinge, wie das Senden von E-Mails und was nicht.

Wenn Sie von einer älteren Anwendung (zB Delphi 7), die Indy 8 oder 9 verwendet, portieren, werden Sie feststellen, dass die Verwendung von Indy 9 in Delphi 2007 ein einfacherer Port ist. Wenn Sie sich nicht interessieren, verwenden Sie Indy 10, da es viele bedeutende Verbesserungen der Bibliothek hat, und es gibt auch einige große architektonische Änderungen.

1

Indy Delphi ist eine Bibliothek (Tcomponent) für Delphi, die die wahre Macht von WinSock darstellt. Es stellt Komponenten für das Tuneln, TCP/UDP-Verbindungen und vieles mehr bereit. Die offizielle Seite ist: http://www.indyproject.org Sie finden dort alles, was Sie brauchen.

Indy 9 ist eine alte Version der Indy-Bibliothek. Indy 10 kam 2008 zusammen mit Delphi 2009 heraus. Die gesamte Struktur der Bibliothek wurde in Indy 10 geändert.

Meiner Meinung nach war Indy 9 besser.

+0

war es? ... hmm, .... * gg * – ulrichb

+0

Delphi 2006 wird mit Indy 10 ausgeliefert. –

3

Indy ist ein Winsock-Wrapper, der für Netzwerk/Internet-Programmierung (FTP, Telnet, HTTP, etc.)

Indy 10 ist eine neuere Version von Indy 9, und während die Änderungen können die blockierenden Socket Verhalten liefert verbessern Architektur entfernt sie einige Funktionen und bewegen Dinge herum. Wenn Ihr Programm die Teile verwendet, die verschoben oder entfernt wurden, wird die Portierung nach Indy 10 schmerzhaft sein.

Wenn Sie von Delphi zu C# wechseln, dann wird die C# -Version von Indy SEHR anders aussehen als die Delphi-Version. Zumindest wenn ich es mir anschaute.

3

Einige Details:

  • Indy10 ist afaik schon in D2005, obwohl Versionen D2005 und D2006 erlauben, die man zu installieren auszuwählen.
  • .... was egal ist, auf jeden Fall immer die neuesten und besten installieren, um die neuesten Fixes zu bekommen.
  • Indy10 ist intern besser, aber weil sie es in mehrere Module aufteilen, haben Anfänger oft Probleme, es manuell zu kompilieren. Die Art und Weise, wie die Indy-Entwickler arbeiten, ist in etwa auf die Benutzer ausgerichtet, was ich im Nachhinein für unnötig hielt, da alle Pakete in der Praxis als Ganzes aktualisiert werden müssen.
  • Indy10 ist tragbar.Die Indy9 Kylix-Unterstützung war nicht viel mehr als ein Hack.
  • Beide arbeiten mit FPC/Lazarus, aber Indy9 nur auf win32. Indy10 auch auf Unix, OS X, Win64 und Wince. Auf Lazarus ist der Indy10 Port generell besser.
  • Das letzte Mal, als ich bedeutende Arbeit damit gemacht habe, waren die Indy10 Beispiele schlechter als die Indy9.
  • Indy10 wurde in den .NET-Morast eingebunden und ist deutlich weniger Null als Indy9. Dies wurde über die Lebenszeit von Indy10 schlimmer.
  • Einige der ursprünglichen Ziele von Indy10 (wie Glasfaserunterstützung für sehr hohe Verbindungszahlen) wurden nicht realisiert. Der Bedarf an Fasern müsste aber ohnehin mit der gigantischen Zunahme des (durchschnittlichen) verfügbaren Speichers neu bewertet werden, und ich weiß auch nicht, wie Microsoft heutzutage Fasern sieht.
1

Die BorCon 2004 Programming Tracks enthalten einen Artikel von Chad Hower, Upgrading to Indy 10.

Zusammenfassung: Diese Sitzung behandelt die Änderungen, die an Indy 10 vorgenommen wurden, und wie Sie vorhandenen Code schnell portieren können. Es deckt auch die Vorteile von Indy 10 und warum Sie Ihren Code portieren sollten. Während Leistung und andere Demonstrationen gezeigt werden, ist diese Sitzung eine praktische Übersicht und konzentriert sich nicht auf Democode.

Inhalt:

  • Upgrade auf Indy 10
  • Indy 10 Status
  • Installation Concurrent Versions
  • Kompatibilität
  • Migration
  • Wesentliche Änderungen und Ergänzungen
+0

+1 Das ist ein guter Link zu einigen guten Inhalten. Sehr geschätzt. – Sam

+0

Keiner dieser Links funktioniert nicht mehr. – nolaspeaker