Net-Base Magasin

11.04.2026

Erstat Borland BDE med FireDAC: En vejledning til en sikker Delphi-modernisering uden Big Bang

Mange eksisterende Delphi-applikationer bruger stadig Borland Database Engine (BDE) – ofte stabil, men med voksende risici ved deployment, 64-bit, sikkerhed og moderne database-strategi. Dette indlæg viser, hvordan virksomheder gradvist og kontrolleret kan erstatte BDE med FireDAC...

11.04.2026

Fra magasinets tema til projektpraksis

Passende service- og tekniske sider til artiklen

Video-Botschaft

Erstat Borland BDE med FireDAC: En vejledning til en sikker Delphi-modernisering uden Big Bang

Kurz erklärt, warum die BDE im Betrieb zum Risiko wird und wie FireDAC schrittweise eingeführt werden kann, ohne einen Big-Bang-Relaunch zu erzwingen.

Video mit KI erstellt

Transkript anzeigen

Hallo, ich bin Mark. Die meisten BDE-Anwendungen scheitern nicht am Code, sondern am Betrieb.

Im Beitrag „Borland BDE durch FireDAC ersetzen: Leitfaden für eine sichere Delphi-Modernisierung ohne Big Bang“ geht es genau darum. Die BDE wirkt oft stabil.

Aber sie passt schlecht zu gehärteten Windows-Setups, standardisiertem Deployment und 64‑Bit. Genau dort entstehen Audit- und Support-Risiken.

FireDAC ist der moderne Datenzugriff in Delphi. Er bringt konsistente Treiber, sauberes Logging für Fehlersuche und funktioniert in 32 und 64 Bit.

Wichtig ist die Perspektive: Nicht „Komponenten tauschen“, sondern Schritt für Schritt vorgehen. Erst eine stabile Verbindungsschicht, dann ein Pilotmodul, dann die Fläche.

So bleibt die Fachlogik geschützt. Wenn Sie dazu Fragen aus Ihrem Betrieb haben, lassen Sie uns das in Ruhe einordnen.

Wenn du dazu Fragen hast oder tiefer einsteigen willst, melde dich gern bei uns.

I mange virksomheder er Borland Database Engine (BDE) stadig en del af forretningskritiske Delphi-applikationer: opbygget faglogik, UI-nær dataadgang med TTable/TQuery, delvist stadig Paradox/dBase, delvist tidlige klient/server-installationer. Ofte er realiteten: softwaren kører, brugerne kender processerne, og i den daglige drift er der ingen umiddelbar grund til at „røre ved noget“. Samtidig ændres det tekniske fundament: operativsystemer sikres/hærdes, deployment standardiseres, 64‑bit forventes, og datalagring bør foregå på databaseservere med et klart rettigheds- og backupkoncept.

Netop her bliver „Borland BDE durch BDE-Ablösung mit nativer Anbindung ersetzen“ en strategisk moderniseringsopgave. BDE-Ablosung mit nativer Anbindung er i aktuelle Delphi-versioner den etablerede dataadgang for moderne databaser. Den leverer konsistent adfærd, robuste drivere, Unicode-understøttelse, monitoring/tracing og en arkitektur, der kan betjene både desktop-klienter, services og REST-server. Overgangen er dog sjældent kun et 1:1-komponentudskift – især ikke når den eksisterende applikation gennem årene har indregnet BDE-specifik adfærd (transaktionsantagelser, dataformater, filter/sorteringer, Cached Updates, Third-Party-Reports).

Denne artikel fokuserer den praktiske fremgangsmåde: Hvordan udskifter I BDE med FireDAC uden at bringe faglogikken i fare og uden at tvinge et Big-Bang-Relaunch? I får en anvendelig model, tekniske målbilleder og henvisninger til typiske problemzoner i driftsmiljøet.

Warum die BDE-Ablösung heute mehr als Technikpflege ist

Så længe en BDE-applikation fungerer, virker en afvikling som ren „kodeoprydning“. I praksis opstår presset dog som regel på grund af drifts- og risikohensyn.

Deployment, Security-Baselines und „No-Touch“-Clients

BDE er historisk designet til lokal konfiguration (BDE Administrator, Alias-Definitionen, NetDir, fælles konfigurationsfiler). I moderne omgivelser er manuelle trin og maskinomfattende indstillinger vanskelige at forene med softwaredistribution, hærning og auditérbarhed. FireDAC muliggør langt mere kontrollerbare deployments, fordi forbindelsesparametre og driverindstillinger kan administreres tættere på applikationen.

64‑Bit, Windows-Modernisierung und neue Plattformziele

Senest når en applikation skal køre i 64‑bit (hukommelsesbehov, driver-/Office-økosystem, ny hardware, terminalserver-strategier), bliver BDE reelt en blocker. FireDAC understøtter 32/64‑bit konsistent og er dermed en kernekomponent i enhver Delphi Modernisering, der teknisk ikke må fejle på dataadgangen. Samtidig bliver emner som Windows 11 ARM64 og hybride klient/service-arkitekturer først ordentligt planlægningsbare.

Datenbankstrategie: weg von dateibasiert, hin zu serverbasiert

Mange BDE-applikationer bærer stadig restbelastninger fra Paradox/dBase-tiden. Disse fildatabaser er i flerbrugerdrift mere sårbare, administrativt sværere at sikre og passer dårligt til nutidens krav (roller/rettigheder, kryptering, monitoring, høj tilgængelighed). FireDAC er ikke „den nye Paradox-driver“, men den moderne adgang til SQL Server, PostgreSQL, MariaDB og Firebird. I praksis er BDE-afviklingen derfor ofte startskuddet til at professionalisere datalagring og drift.

Wartbarkeit und Diagnosefähigkeit im Betrieb

En undervurderet omkostningsfaktor er fejlsøgning: sporadiske lockingsproblemer, inkonsistent cursor-adfærd, vanskeligt eftersporelige parameterkonverteringer eller netværks-/sti-problemer. FireDAC tilbyder med logging, monitoring og klarere typeadfærd bedre indgangspunkter for reproducerbar fejlanalyse. For virksomheder, der ønsker at drive en applikation langfristet og udvide punktvist, er det en direkte fordel.

BDE vs. FireDAC: Unterschiede, die in der Migration zählen

På papiret kan komponenter kortlægges. I realiteten handler det om adfærdsændringer, der kan skabe faglige sideeffekter. En kort orientering:

Komponenten-Mapping (als Startpunkt)

  • TDatabase (BDE) → TFDConnection (FireDAC)
  • TQuery (BDE) → TFDQuery
  • TTable (BDE) → TFDTable (i moderniseringer ofte bedre: query-/view-baseret adgang)
  • TStoredProc (BDE) → TFDStoredProc

Die häufigsten Verhaltensdifferenzen

  • Parameter und Datentypen: FireDAC arbejder mere præcist. „Det går nok“-SQL bliver hurtigere synligt (fx datoværdier som strenge, implicitte konverteringer, uklar nullability).
  • Transaktionen: Legacy-kode indeholder ofte implicitte commit-antagelser (Dataset lukke, AutoCommit-lignende mønstre, Cached Updates). Med FireDAC betaler det sig at styre transaktioner bevidst, da det forbedrer faglig konsistens.
  • Cursor/Fetch: FireDAC har andre default-indstillinger og flere justeringsmuligheder. Ineffektive mønstre (store resultatsæt til UI-lister) bliver mere tydelige, men kan målrettet optimeres.
  • Unicode: I moderne Delphi-versioner er Unicode standard. FireDAC-kæden (client-library, connection-options, DB-collation, felttyper) skal være konsistent, ellers opstår tegn- og sammenligningsproblemer.
  • Deployment: Afhængigt af DB kræves client-biblioteker (fx libpq for PostgreSQL). Det skal planlægges tidligt for at undgå overraskelser i produktionsmiljøet.

Zielbild für eine FireDAC-Architektur: stabil, testbar, erweiterbar

En BDE-afvikling bør ikke ende i „FireDAC überall irgendwie“. Et holdbart målbillede er særlig værdifuldt, hvis applikationen skal videreudvikles eller indlejres i services/portaler.

Minimalziel: einheitlicher Connection-Layer

I stedet for spredte forbindelser i formularer anbefales et centralt connection-layer:

  • Oprettelse og konfiguration af TFDConnection ét sted
  • Ensartede timeouts, encoding/characterSet, fejlhåndtering
  • Skift mellem Dev/Test/Prod uden manuel efterarbejde
  • Valgfrit: central aktivering af tracing/monitoring til diagnoseformål

Empfohlen: klare Transaktionsgrenzen in der Fachlogik

Mange ældre applikationer fordeler dataændringer over UI-events. Det øger risikoen for delvise opdateringer og gør tests sværere. En stabil FireDAC-tilgang er: Use casen (service/faglogik) starter og afslutter transaktionen, ikke UI’en. Selv i ren VCL-desktopsoftware giver det en robust kerne, som senere lettere kan køre som service eller API.

Erweiterungsfähig Richtung Services und REST

Hvis man senere vil supplere med en REST-Server, drive Windows- eller Linux-services eller koble et Kundenportal på, vinder man ved et rent data-lag. FireDAC egner sig til dette, hvis connection-management, fejlhåndtering og – afhængigt af serverbelastning – pooling tænkes ind som del af målbilledet. Det behøver ikke implementeres i første skridt, men arkitekturen bør ikke forhindre det.

Migrationsstrategie: FireDAC schrittweise einführen, BDE kontrolliert zurückbauen

I B2B-miljøer er et Big Bang sjældent realistisk: for mange fagprocesser, for stort driftsansvar, for lav accept af lange nedetider. En trinvis BDE-afvikling er typisk den sikre vej.

Phase 1: Bestandsaufnahme und Risikokarte

En nyttig inventarliste tæller ikke bare komponenter, men vurderer også adfærd og koblinger:

  • Hvilke databaser anvendes: Paradox/dBase, Firebird/InterBase, SQL Server, PostgreSQL, MariaDB?
  • Hvor findes TTable-adgange, hvor bruges SQL via TQuery, hvor Stored Procedures?
  • Hvordan håndteres transaktioner i dag (eksplicit, implicit, Cached Updates, blandede mønstre)?
  • Hvilke reports/eksporter forventer bestemte dataset-egenskaber (sortering, filter, Calculated Fields)?
  • Hvilke tredjepartskomponenter eller egne frameworks er BDE-specifikke?

Ud fra denne kortlægning afgøres det, om afviklingen „kun“ vedrører adgangslaget, eller om en parallel databasestrukturændring (fx Paradox → SQL Server/PostgreSQL/MariaDB) er fornuftig eller nødvendig.

Phase 2: FireDAC-Foundation (ohne UI-Umstellung)

Før I migrerer skærme, bør FireDAC stå teknisk solidt:

  • Centralt DataModule eller service-klasse med TFDConnection
  • Konfigurationsmodel for connection-strings (fx INI/JSON) og ordentlig håndtering af secrets
  • Standardiseret fejlhåndtering (DB-exceptions oversættes til forståelige, logbare meddelelser)
  • Tracing/monitoring-muligheder til pilotdrift (målrettet aktiverbar, ikke permanent højt støjniveau)

Vigtigt er, at der udstikkes bindende standarder: navnekonventioner, parameterregler, logging-schema, default-indstillinger pr. database.

Phase 3: Pilotmodul mit echter Fachrelevanz

Et godt pilotområde er fagligt afgrænset, men reelt i brug. Målet er at udvikle og verificere mønstre.

  • TQueryTFDQuery (inkl. parameterisering og typificering)
  • Definere transaktionsrammer og gøre dem synlige i koden
  • Dokumentere resultatlighed (sammenligne fagligt relevante resultatsæt)
  • Måle performance ( svartider, DB-load, netværkstrafik )

Efter piloten bør der foreligge en intern checkliste, som hvert efterfølgende modul migreres efter. Det reducerer risiko og gør indsatsen mere planbar.

Phase 4: Flächenmigration und Deployment-Bereinigung

Efter piloten migreres moduler løbende. Parallelle arbejder reducerer BDE som driftsafhængighed:

  • Fjern installer-scripts og dokumentation af BDE-setups
  • Eliminer alias-definitioner, NetDir-konfiguration og specialstier
  • Tilpas build-/release-pipeline til nye afhængigheder (client-libs, drivere)

Netop denne tilbagebygning er essentiel: Så længe BDE-dele overlever i deploymentet, består driftsrisikoen.

Stolperstellen: häufige Ursachen für fachliche Seiteneffekte

Mange migrationer fejler ikke på FireDAC-teknologien, men på implicitte antagelser i gammel kode. Disse områder bør prioriteres tidligt.

SQL-Dialekte und historisch gewachsenes SQL

BDE-applikationer indeholder ofte SQL, der med en bestemt driver „tilfældigt“ virkede: implicitte joins, uens aliasbrug, DB-specifikke funktioner, uklare sorteringer. I migrationen gælder:

  • Gør SQL eksplicit (JOIN-syntaks i stedet for implicit WHERE-sammenkædning)
  • Kontrollér reserved words og identifier-brug (fx DATE, USER, ORDER som feltnavne)
  • Harmoniser eller kapsl dato-/tids- og string-funktioner

FireDAC tilbyder muligheder for tilpasning, men den bæredygtige løsning er DB-konform, læsbar SQL.

Datentyp-Mapping: Boolean, Datum/Zeit, Memo/Blob, NULL

BDE har i praksis tolket meget. FireDAC er mere præcis – hvilket er positivt, men kræver eksplicitte regler. Typiske emner:

  • Boolean: BIT/SMALLINT/CHAR(1) – definer fagligt entydigt, undgå implicitte konverteringer
  • Datum/Zeit: DATETIME vs. DATETIME2, millisekunder, sorterings-/sammenligningslogik; tidszone-spørgsmål i distribuerede systemer
  • Memo/Blob: Fetch-adfærd (OnDemand), encoding, klientens hukommelsesforbrug
  • NULLability: Ældrekode, der blander tomme strenge og NULL, fører til svære og skjulte logikfejl

En slank datatypeliste har vist sig effektiv: for hver fagligt vigtig tabel/kolonne måltyper (DB og Delphi) plus regler for NULL, default-værdier og formateringer.

Transaktionen: von implizit zu bewusst orchestriert

I mange legacy-Delphi-projekter er en almindelig fejl, at systemet byggede på implicitte commits („hvis jeg lukker dataset, er det gemt“). FireDAC tilbyder klare API’er (StartTransaction, Commit, Rollback). Moderniseringsfordelen kommer, når transaktioner forstås som faglig ramme:

  • Use casen starter transaktionen
  • Flere opdateringer udføres inden for samme connection
  • Commit/Rollback håndteres centralt med reproducerbar fejlhåndtering

Det reducerer inkonsistenser og er afgørende, hvis applikationen senere udvides med services eller interfaces.

Cached Updates und Konfliktbehandlung (Concurrency)

Mange BDE-applikationer bruger Cached Updates som en „offline-edit“-mekanik. FireDAC kan noget tilsvarende, men reglerne må være eksplicite:

  • Hvilke felter er nøgler, hvilke benyttes til concurrency-checks?
  • Hvordan løses konflikter (RowVersion/Timestamp, „last write wins“, brugerbeslutning)?
  • Hvad sker der ved delvise fejl i batch-operationer?

Det er ofte fornuftigt at flytte konfliktlogikken tættere på faglogikken eller ind i en serviceskikt i stedet for at lade den ligge skjult i UI-dataset-adfærden.

TTable/Paradox-lastige Anwendungen: FireDAC ist nicht die einzige Baustelle

Hvis applikationen er stærkt filbaseret (TTable mod Paradox), er „BDE durch FireDAC“ kun en del af sandheden. FireDAC er primært designet til SQL-databaser. Den centrale beslutning er derfor: Skal datalagringen moderniseres til en server-DB?

  • Migration til SQL Server, PostgreSQL eller MariaDB
  • Indførelse af roller-/rettighedskoncept og ordentlige backup/restore-processer
  • Stabil flerbrugerdrift uden fil-locking-problemer

Hvis et øjeblikkeligt databaseskift ikke er organisatorisk muligt, er en todelt tilgang ofte pragmatisk: først stabiliser adgangslaget og reducer UI-koblingen, dernæst datamigration med klar test- og cutover-strategi.

Reporting, Exporte und Drittkomponenten

Reports afhænger ofte af detaljer: sorteringer, filterrækkefølge, beregnede felter, master/detail-adfærd. For en kontrolleret omlægning:

  • Identificér kritiske reports og behandl dem som en regressions-test-suite
  • Frembring deterministiske datasæt til reports (views/stored procedures eller klart definerede queries)
  • Reducer UI-side filterkæder, som afhænger af dataset-adfærd

Målet er reproducerbar resultatlighed, især for auditrelevante udtræk.

Architektur-Upgrade im Zuge der FireDAC Migration: pragmatisch entkoppeln

BDE-afviklingen er et godt tidspunkt til at løfte dataadgang ud af formularer og event-handlere. Det betyder ikke nødvendigvis et komplet re-architecture-projekt. Selv moderate tiltag giver ofte stor effekt.

Pragmatische Zielstruktur (anschlussfähig an Layer-3-Architektur)

  • Connection/Unit-of-Work: administrerer connection og transaktion, leverer query-objekter
  • Repository/DAO: kapsler SQL og dataadgang for hvert fagområde
  • Service/Use Case: orkestrerer faglogik, valideringer og transaktionsramme

Denne struktur er kompatibel med en senere Layer-3 Architektur og letter efterfølgende projekter: REST-interfaces, baggrundsservices, multiplatform-klienter eller kobling til portaler.

Wichtiger Effekt: weniger globale Seiteneffekte

Mange BDE-projekter arbejder med globale datamoduler og implicitte tilstande. FireDAC kan også fungere sådan, men moderniseringen bliver mere stabil, når tilstande lokaliseres: klart livscyklus for connection/transaktion, reproducerbare fejlveje, færre bivirkninger fra global tilstand.

Performance und Stabilität: FireDAC gezielt konfigurieren

FireDAC er performant, men performance er en kombination af SQL, indeks, fetch-strategi og connection-management. Ved migrationer oplever man ofte, at BDE skjulte ineffektive mønstre, fordi datamængder tidligere var mindre eller systemet kørte lokalt.

Fetch-Strategien und UI-Listen

  • Lister skal kun hente nødvendige kolonner (undgå SELECT *)
  • Server-side sortering og målrettede filtre frem for klient-side kæder
  • Ved store datamængder: paging eller inkrementel indlæsning
  • LOB-felter (Memo/Blob) indlæses først, når de virkelig behøves

FireDAC tilbyder passende muligheder; det afgørende er en faglig beslutning om, hvilke data brugeren reelt behøver i den givne kontekst.

Prepared Statements und Parametrisierung

Parametriserede queries er ikke kun sikkerhedsstandard (for at undgå SQL-injektion), men forbedrer også ofte genbrug af executions-planer i mange databaser. Desuden bliver typus-uklarheder i gammel kode synlige og kan rettes målrettet. Især i ældre systemer er det en kvalitetsforbedring, som reducerer specialcases og forbedrer diagnostik.

Connection-Management: Desktop vs. Service/REST

I klassiske desktop-klienter er en langlivede connection per klient ofte praktisk. I services eller REST-servere anvendes andre mønstre: kortere requests, parallelle adgangsmønstre, connection-pooling. Hvis BDE-afviklingen ses som del af en større modernisering, bør disse forskelle indtænkes i målbilledet, så senere udbygninger ikke skal starte forfra ved dataadgangen.

Test- und Abnahmestrategie: Ergebnisgleichheit nachweisen

Ved BDE-afviklingen er den største risiko sjældent, at applikationen ikke starter, men stille faglige afvigelser: sorteringer, afrundinger, NULL-håndtering, transaktionsgrænser, bivirkninger af triggers/constraints i moderne DB’er. En robust teststrategi omfatter:

  • SQL-Regression: kør kritiske forespørgsler mod definerede testdata og sammenlign resultatsæt
  • Use-Case-Tests: verificér kerneprocesser (fx bogføring, frigivelse, annullering, import/eksport) mod forventede resultater
  • Mehrbenutzer-/Stabilitätstests: låseadfærd, deadlocks, timeouts, transaktionsvarighed
  • Logging/Observability: indfang DB-fejl struktureret (fejlkoder, kontekst, berørt query), ikke kun som en „fejl-dialog“

Virksomheder høster dobbelt gevinst: Testene sikrer migrationen og skaber samtidig grundlaget for kontrolleret udrulning af senere ændringer i datamodel eller interfaces.

Zieldatenbanken in FireDAC-Projekten: typische Optionen

FireDAC er bevidst bredt, men hver database har egne regler. I moderniseringsprojekter er følgende mål typisk:

SQL Server

Typisk i Windows-dominerede IT-landskaber. Vigtige punkter: konsistente Unicode-typer (NVARCHAR), moderne tids-typer (DATETIME2), klar identity-/sequence-strategi, definerede isolation levels og korrekt håndtering af låsninger.

PostgreSQL

Stærk på integritet og features. I migrationer relevant: identifier-case-sensitivity, datatyper (boolean/uuid/jsonb) og dialektforskelle. FireDAC kan koble PostgreSQL produktivt, hvis client-libraries og deployment er ordentligt organiseret.

MariaDB/MySQL

Ofte valgt, når desktopsoftware supplerer med web- eller portal-komponenter. Vigtigt: konsekvent utf8mb4, InnoDB som storage engine, en velovervejet transaktions- og indeksstrategi. FireDAC understøtter MariaDB/MySQL pålideligt, hvis parametre og datatyper er klart defineret.

Uanset mål gælder: En BDE-afvikling bliver mest stabil, når der samtidig etableres database-standarder (schema-versionering, migrations-scripts, roller/rettigheder, backup/restore, monitoring).

Praxisempfehlungen für eine planbare FireDAC Migration

Abhängigkeiten reduzieren, bevor Sie in Masse Komponenten tauschen

Hvis SQL og dataset-logik sidder spredt i mange formularer, bliver hver ændring dyr. Et mellemliggende skridt, der samler SQL i få adgangsklasser, reducerer migrationsfladen markant. Derefter er selve overgangen til FireDAC ofte hurtigere og mindre risikabel.

Früh einen transaktionalen Kernprozess migrieren

„Enkle lister“ er en nem start, men det reducerer risikoen mest at migrere tidligt en proces med egentlige opdateringer og afhængigheder. Hvis transaktioner, datatyper og fejlhåndtering er velafprøvede der, bliver resten af migrationen mere planbar.

Deployment als gleichrangige Arbeit behandeln

Kodeomlægningen er kun halvdelen af opgaven. Afklar tidligt:

  • Hvilke client-libraries/drivere kræves per database?
  • Hvordan versionsstyres og signeres disse (hvis relevant), og hvordan rulles de ud?
  • Hvordan forvaltes connection-parametre, og hvem har ret til at ændre dem?
  • Hvordan ser supportprocessen ud, når DB-adgang fejler?

FireDAC als Modernisierungsanker nutzen – ohne Neuanfang

Afviklingen er en mulighed for målrettede kvalitetsløft: parameterisering, transaktionsgrænser, logging, ensartede fejlsætninger. Det reducerer driftsomkostninger og gør senere udvidelser (interfaces, services) væsentligt mindre risikable, uden at applikationen skal genopfindes fagligt.

Fazit: BDE-Ablösung mit FireDAC ist kontrollierbare Modernisierung – wenn sie als Architekturthema behandelt wird

BDE har båret mange Delphi-applikationer igennem årene. I dag er den dog en strukturel risiko: for 64‑bit, for standardiseret deployment, for moderne security-krav og for tilslutning til tidssvarende databaser. FireDAC er den rette efterfølger, men ikke som en „komponentudskiftning natten over“. Den sikre vej er en trinvis migration med en ren foundation, pilotmodul, bindende regler for datatyper og transaktioner samt tests, der påviser resultatlighed.

Hvis I vil planlægge BDE-afviklingen struktureret – inklusive inventar, migrationsvej og FireDAC-målarkitektur – er en teknisk afstemning af jeres rammer det næste fornuftige skridt: https://net-base-software-gmbh.de/kontakt/

Næste trin

Når emnet bliver til et reelt projekt, bør arkitektur, eksisterende systemer og drift tidligt vurderes samlet.

Vi støtter ikke kun ved enkeltspørsmål, men også når kildekodeudsnit, legacy-komponenter eller portalidéer skal udvikles til et robust virksomhedsprojekt.

  • Eksisterende tilstand, målbillede og tekniske risici vurderes samlet.
  • REST, dataadgang, portaler og udrulning bliver ikke udskudt som efterfølgende opgaver.
  • De ser tidligt, hvilken vej der er økonomisk og driftsmæssigt bæredygtig.

Del indlæg

Del dette indlæg direkte

LinkedIn, X, XING, Facebook, WhatsApp og e-mail er straks tilgængelige. Til Instagram forbereder vi link og kort tekst.

E-mail

Instagram åbner i en ny fane. Linket og kortteksten kopieres på forhånd til udklipsholderen.