2016-07-09 4 views
-2

Warum kann ich nicht Generics.Collections oder Generics.Default oder auch nur Generics in Lazarus verwenden?Delphi Lazarus kann nicht finden Verwendung Generics

Uses 
    Generics.Collections; 

Uses 
    System.Generics.Default; 

Uses 
    System.Generics.Collections; 

Uses 
    System.Generics.Default, 
    System.Generics.Collections; 

Uses 
    SysUtils, 
    Generics;  

Kann Generics.Collections nicht finden, die von uTest des Project Inspector verwendet werden.
Kann Generics.Defaults nicht finden, die von uTest des Project Inspector verwendet werden.
Kann keine Generatoren finden, die von uTest des Projekt-Inspektors verwendet werden.

+1

Ihr Fragetitel ergibt keinen Sinn. Du kannst * Delphi Lazarus * nicht benutzen, weil es so etwas nicht gibt. Der Code, den Sie gepostet haben (ohne Anstrengung, ihn überhaupt richtig zu formatieren), ist kein Lazarus/FreePascal-Code; Es ist Delphi-Code. Lazarus hat nicht den Namensraum "System.Generics", AFAIK.Sie könnten versuchen, die Lazarus/FP-Dokumentation über Generika zu lesen, um herauszufinden, wo Sie die geeigneten Einheiten finden können. Delphi und FreePascal sind nicht dasselbe Produkt, und sie sind nicht identisch. Sie haben Ähnlichkeiten, aber es ist kein Fall von * alles ist direkt kompatibel, also kompilieren Sie es einfach *. –

+0

Ich möchte nicht den gesamten Code hier, wenn nur die USES nicht kompilieren. Ich habe nur alles gedacht, ich habe versucht, die Verwendungen Erklärung. Aber Sie sagten etwas, das ich nicht wusste. Ich nahm an, dass Lazarus das "freie Delphi" -Ding sein würde. Wie Sie Visual Studio Ultimate oder nur Express haben. Bei der Arbeit verwenden wir die Embarcadouro IDE XE2 für Delphi, und ich benutze diese USES dort. Ich habe einige Videos über Delphi 7 verfolgt, wo die Jungs sagten, dass man Lazarus herunterladen kann, wenn man keinen Zugriff auf Delphi IDE hat. –

+0

Oder eine ähnliche IDE wie Eclipse und NetBeans, ich wusste nicht, dass es eine andere Programmiersprache war. –

Antwort

7

Lazarus ist der IDE für den Open-Source-Compiler FreePascal. Keiner von ihnen hat ANYTHING mit Delphi zu tun. FreePascal ist ein vollständig separater Pascal-Compiler als der von Delphi verwendete.

FreePascal verfügt über einen Delphi-Kompatibilitätsmodus und implementiert verschiedene Delphi-Einheiten und -Klassen, damit Benutzer den vorhandenen Delphi-Code nach FreePascal portieren können.

Aber so weit wie Generics betrifft, bietet Freepascal seine eigene Generika-Syntax und Implementierung, die von verschieden ist, und nicht kompatibel mit, Delphi Generics (tatsächlich Unterstützung für Delphi-Stil Generics in FreePascal 2.6 hinzugefügt wurde, aber "noch möglicherweise nicht 100% kompatibel "mit Delphi. Siehe auch delphi language features which fpc does not have - Generics Syntax).

lesen Freepascal in der Dokumentation, um weitere Informationen über den Geschmack von Generics:

http://wiki.freepascal.org/Generics

http://www.freepascal.org/docs-html/ref/refch8.html

Die System.Generics.Default und System.Generics.Collections Einheiten sind nur in Delphi zur Verfügung, sie existieren nicht in Freepascal. Es ist jedoch eine 3rd party implementation dieser Einheiten für FreePascal verfügbar.

2

Generics.Collections-Bibliothek (mit Generics.Defaults-Modul) wurde als RLT-Generics-Paket in R34229 zu FPC-Trunk hinzugefügt. Neueste Version des vorkompilierten FPC-Trunks (mit Generics.Collections) für Win32 + Lazarus Trunk verfügbar unter http://newpascal.org. Das Repository von Generics.Collections (https://github.com/dathox/generics.collections) wird weiterhin für die Wartung verwendet (sollte oft mit der FPC-Leitung synchronisiert werden)

Verwandte Themen