
AI — 4D Vector
Skapa meningsfulla modeller direkt i dina data
Börja bygga smartare och mer responsiva upplevelser genom att lagra AI-klara vektorer direkt i det nya 4D.Vector-objektet. Det här är inte bara siffror, det är komprimerade framställningar av mening, utformade för jämförelse – och det gör hela skillnaden.
Istället för att söka efter exakta ord kan du uttrycka vad användarna faktiskt menar. Visa rätt HR-policy när någon skriver ”uppsägning”. Hitta rätt leverantörskontrakt utifrån en vag sökning som ”skrivarservice”. Upptäck nästan identiska produkter i inkonsekventa produktlistor – även om formuleringarna kraftigt skiljer sig åt.
Allt detta är möjligt eftersom den nya 4D.Vector-klassen ger din app inbyggda operationer som cosinuslikhet, punktprodukt och euklidiskt avstånd. Med dessa kan du rangordna, filtrera och gruppera poster efter konceptuell likhet och inte bara efter strängmatchningar.
Eftersom klassen är både minneseffektiv och klasskompatibel kan den dessutom integreras direkt i ditt schema. Lägg till den i skrivna fält, kör snabba, lokala jämförelser och hoppa över mellanprogram helt och hållet.

4D AI KIT
Generera vektorer från naturligt språk med ett enda metodanrop
Börja med de ord som dina användare redan skriver – sökningar, beskrivningar, anteckningar, loggar – och omvandla dem till något som din app kan resonera över. Med ett enda metodanrop, OpenAIEmbeddingsAPI.create(), kan du skapa semantiska vektorer från enkel text.
Det här är inte strängar. Det är mening i kodformat. Lagra dem i 4D.Vector-fälten och använd dem omedelbart: rangordna resultat efter avsikt, matcha relaterade objekt, klassificera sammanhang – allt direkt från din 4D-kod.
Ingen extra konfiguration krävs. Inget API-underarbete. Anslut bara till en kompatibel molnbaserad AI-tjänst som OpenAI – eller till lokala AI-modeller som Ollama – och börja använda samma AI-infrastruktur som driver dagens ledande produkter.

ORDA
Lägg till medvetenhet om livscykeln i din datamodell
Reagera på förändringar innan de når databasen. Med den nya onTouch()-händelsen och stöd för entitetskonstruktörer kan din affärslogik nu köras i samma ögonblick som en entitet skapas, läses in eller ändras i minnet.
Det innebär att du kan initiera värden så snart en entitet instansieras, tillämpa anpassade valideringsregler vid hämtning av data och automatiskt justera relaterade fält i realtid. Du väntar inte på skyddsåtgärder – du agerar på interaktion.
Använd den för att automatiskt fylla i fält, applicera tidsstämplar, kontrollera behörigheter eller utlösa beroende logik i samma ögonblick som data kommer in eller flyttas i systemet.
Eftersom dessa livscykelkrokar som standard körs på serversidan (med stöd på klientsidan om så önskas) får du dessutom centraliserad kontroll över beteendet som är både skalbar och säker.

DATABASE
Bind klasser till objektfält och generera UUID som är byggda för skalbarhet
Få din struktur att göra mer än att bara hålla data – få den att förstärka din logik. Tilldela en klass direkt till ett objektfält i strukturredigeraren, så behåller 4D dess form både vid körning och kompilering.
Det ger dig automatisk ifyllnad på egenskapsnivå, syntaxkontroll och datavalidering direkt från ditt schema. Din struktur är inte bara till för lagring – den är även ett skydd.
Lägg till stöd för version 7 av UUID och du får identifierare som kan sorteras kronologiskt och är tidsstämplade och redo för distribuerade system. Båda dessa faktorer bidrar till att datamodellen blir förutsägbar, skalbar och självmedveten.

ANVÄNDARGRÄNSSNITT
Bygg formulär som svarar på logik, inte på hårdkodade värden
Gör dig fri från stela bindningar. Med OBJECT SET DATA SOURCE FORMULA kan alla formulärobjekt nu kopplas till en formel som styrs av sammanhang, beräkning eller villkor.
Om du kombinerar detta med listruteuttryck som ”lk selected items expression” får du gränssnitt som reagerar i realtid, utan behov av manuella utlösare eller fasta länkar.
Resultatet blir renare och mer dynamiska användargränssnitt som svarar på logik, inte på hårdkodade antaganden.

Hantering av NÄTVERK
Hantera realtidskommunikation med full kontroll över protokollen
Skicka och ta emot anslutningslösa paket med den nya 4D.UDPSocket-klassen. Håll utkik efter händelser med onData, spåra fel med onError och övervaka aktiviteten i 4DTCPUDPLog.txt. UDP är nu helt integrerat, händelsestyrt och idealiskt för signalering mellan enheter, meddelanden i realtid eller interna protokoll med begränsade pålägg.
Med den nya egenskapen .connectionTimeout i TCPConnection kan du också ange exakta gränser för svarstid. Avbryt långsamma förfrågningar, bibehåll användargränssnittets respons och hantera opålitliga anslutningar med tillförsikt.
Tillsammans ger dessa verktyg detaljerad kontroll över både tillståndslösa och anslutningsbaserade protokoll – vilket möjliggör en snabb och stabil kommunikation i varje lager av applikationen.

BEROENDEHANTERARE
Lösa och läsa in komponentkedjor automatiskt
Lägg till komponenter och låt 4D automatiskt hantera deras beroenden. Den uppdaterade komponenthanteraren utför nu rekursiv upptäckt, läser in alla nödvändiga underkomponenter i rätt ordning och blockerar cirkulära referenser innan de börjar orsaka problem.
Förstärk kompatibiliteten mellan versioner, bestäm inläsningsordningen och visa varje länk i beroendeträdet – angiven eller nedärvd – via det uppdaterade gränssnittet.
Håll din arkitektur modulär, dina byggen förutsägbara och din kod fokuserad på beteende i stället för konfiguration.

4D NETKIT
Hantera kalendrarna i Microsoft 365 och Google från appen
Skapa, uppdatera eller radera kalenderhändelser med fullt stöd för deltagare, återkommande händelser, aviseringar och möteslänkar med hjälp av de uppdaterade klasserna cs.NetKit.Office365.calendar och cs.NetKit.Google.calendar.
Allt körs via OAuth2-autentisering och ger dig detaljerad kontroll över händelsers livscykel direkt från appen – utan behov av mellanprogram.

SÄKERHET
Förhindra att oönskad logik kommer in i applikationen
Förhindra överfört beteende utan att avbryta arbetsflödet. När du klistrar in en formel från en extern källa infogar 4D nu antingen den obearbetade källkoden (om den inte har utvärderats) eller det utvärderade resultatet – aldrig båda två.
Det bidrar till skyddet mot att dold logik överförs till fält som 4D Write Pro eller inmatningar i olika stilar.
Skyddet är diskret, men effekten är uppenbar: en mer pålitlig och säker redigeringsupplevelse.