Delphi

Fra Wikipedia, den frie encyklopædi
Gå til: navigation, søg
[Delphi] Delphi
Programação Delphi.svg
Original skaber(e) [Borland] [CodeGear] [Embarcadero]
Stabil version RAD Studio 10.1 Berlin (RAD Studio 10.1 Berlin)
Operativsystem Microsoft Windows MacOS IOS Android
Platform Microsoft Windows MacOS IOS Android
Type Udviklingsværktøj
Licens EULA
Hjemmeside Home - Embarcadero Website

Delphi er et objekt orienteret programmeringsmiljø hvori man kan udvikle ny Software. Delphi er langt det mest udbredte udviklingsværktøj for Object Pascal-programmører, og bliver brugt af millioner [1] af softwareudviklere verden over. Delphi blev udviklet af det amerikanske firma Borland, men udvikles i dag af Embarcadero som er ejet af Idera.

Delphi 1[redigér | redigér wikikode]

Delphi 1 udkom i 1995 og var revolutionerende i form af sin stærke native compiler, stærke sprog i form af Object Pascal og med super gode værktøjer i form af Visual Component Library og ikke mindst Database egenskaber.

Delphi 1's slogan var meget sigende

Delphi and Delphi Client/Server are the only development tools that provide the Rapid Application Development (RAD) benefits of visual component-based design, the power of an optimizing native code compiler and a scalable client/server solution.

De første 3 udgaver af Delphi er i øvrigt bl.a. udviklet af danskeren Anders Hejlsberg inden han skiftede over til konkurrenten Microsoft.

Delphi 2[redigér | redigér wikikode]

Delphi 2 udkom i 1996 og fortsatte sin konkurrence imod Microsofts Visual Basic med fuld Win32 (Windows 95 integrering) med endnu bedre databaseværktøjer, datatyper og bedre mulighed for at videreudvikle sine grafiske brugergrænseflade. Borland skrev følgende om Delphi 2

Delphi 2 is the only Rapid Application Development tool that combines the performance of the world's fastest optimizing 32-bit native-code compiler, the productivity of visual component-based design, and the flexibility of scalable database architecture in a robust object-oriented environment. Delphi 2: the Ease of VB with the Power of C++"

Delphi 3[redigér | redigér wikikode]

Delphi 3 udkom i 1997 og introducerede helt nye funktioner. Nogle af de vigtigeste nye funktioner i Delphi 3 var "DLL Debugging", komponent skabeloner, TDecisionCube og TTeeChar komponenterne, Komponent pakker, integrering med COM Objekter og WebBroker teknologien.

Delphi 4[redigér | redigér wikikode]

Kost Tekst mangler, hjælp os med at skrive teksten

Delphi 5[redigér | redigér wikikode]

Kost Tekst mangler, hjælp os med at skrive teksten

Delphi 6[redigér | redigér wikikode]

Nye compiler directiver:

  • {$IFDEF MSWINDOWS}
  • {$IFDEF LINUX}
  • {$LIBPREFIX}
  • {$LIBSUFFIX}
  • {$LIBVERSION}
  • {$MESSAGE 'message'}
  • {$SetPEFlags}


Support for {$IF}{$ELSE}

Styring af compiler hints: Experimental, Deprecated, Library, Platform Variant datatypen baseres ikke længere på COM men er ren Object Pascal.

COM baseret variant hedder nu OLEVariant

Styring af om "Typed constants" kan overskrives {$J+}

Styring af om enumerations værdier kan tildeles specifikke værdier (lign. C++)

Interface properties

Support for at kalde eksterne varargs funktioner hvis de følger cdecl kalde konventionen

Support for custom variants

Delphi 7[redigér | redigér wikikode]

3 nye kompiler warnings som default er disablet, men kan enables via {$WARN UNSAFE_CODE ON} etc.:

  • Unsafe_Type,
  • Unsafe_Code
  • Unsafe_Cast

Overload af rutiner til formattering of parsning af numeriske strenge, date/tids strenge og currency vha TFormatSettings record.

Delphi 8 for .NET[redigér | redigér wikikode]

Kost Tekst mangler, hjælp os med at skrive teksten

Delphi 2005[redigér | redigér wikikode]

D2005 tilføjede:

  • for ... in loop
  • inline keyword
  • Wildcard i uses statement tillades
  • nested types
  • nested constants
  • {$REGION}/{$ENDREGION} directiver

Delphi 2006[redigér | redigér wikikode]

Tilføjede:

  • Enhanced records
  • Operator overloading
  • Static methoder og properties
  • Class helpers
  • FastMM er nu standard memory manager
  • strict private/protected visibility keywords
  • final keyword til virtuelle methoder
  • {$METHODINFO} direktiv

Delphi 2007[redigér | redigér wikikode]

  • Generics blev introduceret i .NET Delphi compileren

Delphi 2009[redigér | redigér wikikode]

  • Følgende blev tilføjet:
    • String mapper tilUnicodeString
    • Generics introduceres i Win32 compileren
    • function Default(T): T intrinsic function
    • Smart pointers
    • Anonymous methods
    • Nested exception og exception tracing
    • Support for pointer matematik og nyt compiler direktiv: {$POINTERMATH ON|OFF}
    • 4 nye compiler warnings:
      • W1057 Implicit string cast from '%s' to '%s',
      • W1058 Implicit string cast with potential data loss from '%s' to '%s',
      • W1059 Explicit string cast from '%s' to '%s',
      • W1060 Explicit string cast with potential data loss from '%s' to '%s';
    • Exit funktionen kan acceptere et resultat argument
    • resourcestrings er nu Widestrings
    • TObject includerer en TMonitor, som kan bruges til at lave objekt orienteret trådsikring 
    • Der kan angives beskrivende tekst til deprecated keywordet

Delphi 2010[redigér | redigér wikikode]

I D2010 blev følgende tilføjet:

  • Udviddet Delphi RTTI (Run Time Type Information).
  • Attributes
  • as operatoren kan caste en interface reference til sit oprindelige objekt.
  • is operatoren kan bruges til at checke om et interface reference er baseret på en specifik klasse.
  • Man kan nu lave unsafe casting fra en interface reference til et objekt: TObject(SomeInterface).
  • Nyt delayed direktiv, som indikerer at en ekstern DLL ikke skal loades ind på deklarations tidspunkt, men først når funktioner i den bruges første gang.
  • Class Constructor/Destructor
  • Touch funktionalitet til Visual Component Library som understøtter Windows 7's Touch Brugergrænseflade.

Delphi for PHP[redigér | redigér wikikode]

Med Delphi for PHP udviklede Codegear det første Rapid Application Development udviklingsvæktøj til PHP. Delphi for PHP inkluderer et helt Visual Component Library for PHP, med over 50 komponenter, ud fra PHP 5s definitioner om objekt orienteret programmering og brugen af klasser. VCL for PHP indeholder knapper, labels, check bokse, billeder, DHTML menuer, Flash objekter og meget mere.

Delphi XE[redigér | redigér wikikode]

  • {$STRINGCHECKS} compiler direktivet ignoreres i XE
  • Ny 16-byte mulighed til record og data alignment i {$ALIGN} direktivet
  • Nyt {$CODEALIGN} direktiv, som styrer start adressen for en procedure eller funktion.
  • {$STRONGLINKTYPES ON} direktiv
  • Runtime regulære udtryk


Delphi XE2[redigér | redigér wikikode]

  • Cross platform support mod Mac OSX (32-bit), iOS 32 bit og Windows 64 bit.
  • Packed records byte alignes nu. Det skete ikke altid tidligere.
  • 8 nye DEFINEs:
    • ALIGN_STACK
    • CPUX86
    • CPUX64
    • MACOS (Mac operating system)
    • MACOS32
    • PC_MAPPED_EXCEPTIONS
    • PIC
    • WIN64
  • Brug af fuld unit scope navngivning kræves nu i uses sektion. F.eks. Windows.WinAPI istedet for WinAPI.
  • Native data typer afhænger nu af den valgte arkitektur. Extended data type er 80 bit på Win32, men 64 bit på andre arkitekturer.
  • FireMonkey introduceres. Det er et nyt "all is a container" 2D/3D GPU accellereret UI. Det er en forudsætning for iOS applikationer, men optionelt for Win32 applikationer som fortsat kan bruge VCL.

Delphi XE3[redigér | redigér wikikode]

  • Record hjælpere for indbyggede data typer (String, Integer etc).
  • iOS support midlertidigt fjernet. I XE2 var supporten i form af FreePascal compileren.
  • Atomare indbyggede funktioner:
    • AtomicExchange()
    • AtomicIncrement()
    • AtomicCmpExchange()
    • AtomicDecrement()

Delphi XE4[redigér | redigér wikikode]

  • Et antal nye precompiler conditionals introduceres:
    • AUTOREFCOUNT
    • CPUARM
    • EXTERNAL_LINKER
    • IOS
    • NEXTGEN
    • UNDERSCOREIMPORTNAME
    • WEAKREF
    • WEAKINSTREF
    • WEAKINTREF
  • Reintroduceret support for iOS, nu med Embarcaderos egen compiler.
  • ARC (Automatic Reference Count) GC support i NextGen compilere

Delphi XE5[redigér | redigér wikikode]

  • Android Support. Kræver device med ARMv6 + NEON eller ARMv7
  • Nyt precompiler conditional ANDROID
  • Operator overloading på klasser i Nextgen compilere (iOS og Android)

Delphi XE6[redigér | redigér wikikode]

  • Enum identifier navne uden prefixes

Delphi XE7[redigér | redigér wikikode]

  • String ligenende metoder supporteres nu på dynamiske arrays.
  • Parallel Library tilføjet RTL
  • Nye intrinsic funktioner:
    • function IsManagedType(T: TypeIdentifier): Boolean;
    • function HasWeakRef(T: TypeIdentifier): Boolean;
    • function GetTypeKind(T: TypeIdentifier): TTypeKind;
    • function IsConstValue(Value): boolean;

Delphi XE8[redigér | redigér wikikode]

  • Support for iOS 64-bit
  • Nye integer typer: FixedInt/FixedUInt som er 32-bit på alle platforme.
  • Nye (gamle) arkitektur afhængige integer typer: LongInt, LongWord (64-bits på iOS 64-bit, ellers 32 bit)
  • FQN (Fully qualified names) skal nu indeholde unit scope.

Delphi 10 Seattle[redigér | redigér wikikode]

  • Support for Android 5.1.1 og iOS 8.4
  • Forbedret OSX exception håndtering

Delphi 10.1 Berlin[redigér | redigér wikikode]

Eksterne henvisninger[redigér | redigér wikikode]

Referencer[redigér | redigér wikikode]


Software Stub
Denne artikel om software er kun påbegyndt. Hvis du ved mere om emnet, kan du hjælpe Wikipedia ved at udvide den.