Wat is het FMX-bestandsformaat?
Het .fmx-bestand is een gecompileerde, platformspecifieke uitvoerbare module geproduceerd door Oracle Forms - het langlopende framework van Oracle voor het bouwen van front-ends voor bedrijfsdatabase-applicaties. Een .fmx-bestand wordt gegenereerd door de Oracle Forms Compiler (frmcmp) vanuit een bronbestand .fmb (Forms Module Binary), en het is wat Oracle Forms Services daadwerkelijk laadt en uitvoert tijdens runtime.
Omdat .fmx-bestanden zijn gecompileerd voor een specifiek besturingssysteem en een specifieke hoofdversie van Oracle Forms, moet hetzelfde bronbestand .fmb afzonderlijk worden gecompileerd voor elk doelplatform - Windows, Linux of Solaris. Een .fmx gecompileerd voor Oracle Forms 12c kan niet draaien onder de Forms 14 runtime, en een op Linux gecompileerde .fmx zal niet werken op Windows. Het bestand kan niet worden gedecompileerd naar het oorspronkelijke .fmb-bronbestand.
Tijdens runtime laadt frmweb (de Forms-servlet) de .fmx aan de serverzijde, voert de ingebedde PL/SQL-trigger-bytecode uit en rendert de form in de browser van de gebruiker. Bijbehorende gecompileerde modules zijn onder meer .mmx (gecompileerde menumodule) en .plx (gecompileerde PL/SQL-bibliotheek). Oracle Forms 14.1.2.0 werd uitgebracht in december 2024, als voortzetting van een productlijn die teruggaat tot Oracle Forms 3 in de jaren 80. Oracle beveelt APEX en Oracle JET aan voor de ontwikkeling van nieuwe webapplicaties, maar Forms blijft wereldwijd in actief gebruik in bedrijfsomgevingen.
Beveiliging & veiligheid
RISICO: LOWFMX-bestanden zijn artefacten aan de serverzijde; eindgebruikers voeren ze nooit rechtstreeks uit. Het risico is beperkt tot Oracle-serveromgevingen. Bestanden kunnen niet buiten de Oracle Forms-runtime worden uitgevoerd.
Formaatdetails
in een notendop- FileMaker Pro Plugin - FileMaker Pro gebruikt .fmx (ook .fmplugin op macOS) voor plugin/extensie-DLL's die in de map Extensions worden geplaatst.
- FME Desktop Custom Transformer - FME Desktop (Safe Software) gebruikt .fmx voor aangepaste transformatordefinitiebestanden (op basis van XML).
Programma's die FMX-bestanden openen
Technische details
diepe specificaties| Bestandscodering | Binair (gepatenteerde Oracle Forms gecompileerde bytecode) |
| Byte-volgorde | Platformafhankelijk; little-endian op x86/x64 Linux en Windows |
| Gecompileerd van | Oracle Forms bronbestand `.fmb` met behulp van het commando `frmcmp` (Forms Compiler) |
| Versiecompatibiliteit | Gekoppeld aan de hoofdversie van Oracle Forms; een `.fmx` van Forms 12c werkt niet onder de Forms 14 runtime |
| Platformspecificiteit | Afzonderlijke `.fmx` moet worden gecompileerd per doel-OS (Windows, Linux, Solaris); bestanden zijn NIET platformonafhankelijk |
| Runtime-engine | `frmweb` / `frmservlet` (Oracle Forms Services web-servlet) - alleen uitgevoerd aan de serverzijde |
| Bytecode-inhoud | Binair gecodeerde lay-outbeschrijvingen, PL/SQL-trigger-bytecode (Oracle p-code), blok/item-metadata, form-eigenschappentabellen |
| Decompileerbaar | Nee - `.fmx` kan niet worden teruggezet naar het bronbestand `.fmb` |
| Bijbehorende modules | `.mmx` (gecompileerde menumodule), `.plx` (gecompileerde PL/SQL-bibliotheek) |
| Implementatiemodel | Alleen serverzijde; de client ontvangt gerenderde HTML- of Java-applet-uitvoer, niet het `.fmx`-bestand zelf |
| Beveiliging | Geen inherente versleuteling; toegang gecontroleerd via Oracle Database-inloggegevens tijdens runtime |
| Typische bestandsgrootte | 50 KB - 5 MB |
| MIME-type | application/octet-stream (geen specifiek MIME geregistreerd) |
| Huidige versie | Oracle Forms 14.1.2.0 (uitgebracht in december 2024) |
| Uitgebracht | Oracle Forms 3.0, mid-1980s (originally as compiled Designer/2000 form) |
| Laatste versie | Oracle Forms 14.1.2.0 (December 2024) |
| Specificatie | docs.oracle.com |
FMX conversies
Community V&A
gevraagd door gebruikersNog geen vragen - wees de eerste om iets te vragen over FMX-bestanden.
Veelgestelde vragen
Hoe open ik een FMX-bestand?
Hoe compileer ik een FMB naar FMX?
frmcmp module=myform.fmb userid=user/pass@db output_file=myform.fmx. Of gebruik het menu Build > Compile All in Oracle Forms Builder.