Delphi
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 objektorienteret programmeringsmiljø til udvikling af 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 | rediger kildetekst]Delphi 1 udkom i 1995 og var revolutionerende i form af sin stærke native compiler, sit 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 | rediger kildetekst]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 | rediger kildetekst]Delphi 3 udkom i 1997 og introducerede helt nye funktioner. Nogle af de vigtigste 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 | rediger kildetekst]Delphi 5
[redigér | rediger kildetekst]Delphi 6
[redigér | rediger kildetekst]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 | rediger kildetekst]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 | rediger kildetekst]Delphi 2005
[redigér | rediger kildetekst]D2005 tilføjede:
- for ... in loop
- inline keyword
- Wildcard i uses statement tillades
- nested types
- nested constants
- {$REGION}/{$ENDREGION} directiver
Delphi 2006
[redigér | rediger kildetekst]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 | rediger kildetekst]- Generics blev introduceret i .NET Delphi compileren
Delphi 2009
[redigér | rediger kildetekst]- Følgende blev tilføjet:
- String mapper til
UnicodeString
- Generics introduceres i Win32 compileren
function Default(T): T
intrinsic function- Smart pointers Arkiveret 19. september 2020 hos Wayback Machine
- Anonymous methods Arkiveret 7. september 2015 hos Wayback Machine
- 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 WidestringsTObject
includerer en TMonitor, som kan bruges til at lave objekt orienteret trådsikring Arkiveret 21. marts 2016 hos Wayback Machine- Der kan angives beskrivende tekst til
deprecated
keywordet
- String mapper til
Delphi 2010
[redigér | rediger kildetekst]I D2010 blev følgende tilføjet:
- Udvidet Delphi RTTI (Run Time Type Information).
- Attributes Arkiveret 27. november 2016 hos Wayback Machine
as
operatoren kan caste en interface reference til sit oprindelige objekt.is
operatoren kan bruges til at tjekke 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 | rediger kildetekst]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 | rediger kildetekst]- {$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 | rediger kildetekst]- 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 i stedet 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 accelereret UI. Det er en forudsætning for iOS applikationer, men optionelt for Win32 applikationer som fortsat kan bruge VCL.
Delphi XE3
[redigér | rediger kildetekst]- 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 | rediger kildetekst]- 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 | rediger kildetekst]- 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 | rediger kildetekst]- Enum identifier navne uden prefixes
Delphi XE7
[redigér | rediger kildetekst]- 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 | rediger kildetekst]- 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 | rediger kildetekst]- Support for Android 5.1.1 og iOS 8.4
- Forbedret OSX exception håndtering
Delphi 10.1 Berlin
[redigér | rediger kildetekst]- Support for Utf8String Arkiveret 18. november 2018 hos Wayback Machine og RawByteString Arkiveret 20. november 2018 hos Wayback Machine på alle arkitekturer
- Performance forbedringer ved kompilering af generics
[weak]
,[unsafe]
og[volatile]
attributes Arkiveret 2. september 2019 hos Wayback Machine supporteres på alle arkitekturer- Data typen extended er nu 16 bytes på OSX Arkiveret 20. november 2018 hos Wayback Machine
- class og record hjælpere kan ikke tilgå private medlemmer af klasser eller records som de tilføjer til
- Support for Android op til 6.01
- Support for Windows 10 Notifications
- Support for DirectX 12 på Windows https://www.embarcadero.com/products/delphi/whats-new Arkiveret 7. november 2020 hos Wayback Machine
Eksterne henvisninger
[redigér | rediger kildetekst]- Dansk Delphi brugergruppe Arkiveret 7. april 2007 hos Wayback Machine
- Delphi i Danmark Arkiveret 12. april 2008 hos Wayback Machine
- Delphi Tricks Arkiveret 20. april 2006 hos Wayback Machine
- Delphi and C++ Builder roadmap Arkiveret 10. oktober 2007 hos Wayback Machine
- Delphi History Arkiveret 7. juli 2011 hos Wayback Machine
Referencer
[redigér | rediger kildetekst]- ^ "Delphi from Embarcadero | RAD Application Development Software". Arkiveret fra originalen 25. juni 2013. Hentet 31. marts 2010.
Spire Denne artikel om software og programmering er en spire som bør udbygges. Du er velkommen til at hjælpe Wikipedia ved at udvide den. |