Hvad er TLB-filformatet?
.tlb-filer bruges af OLE/COM (Component Object Model) objekter og komponenter på Windows.
Filer med filtypenavnet .tlb indeholder typebiblioteker, der gemmer grænsefladebeskrivelser for COM-objekter. Sådanne objekter udgør byggestenene i COM-baserede Windows-komponenter. Et typebibliotek gemmer ikke medieindhold - det gemmer strukturerede definitioner såsom:
- grænseflade- og metodesignaturer,
- egenskabs- og hændelseserklæringer,
- type-aliasser og konstanter,
- CoClass (creatable class) definitioner.
.tlb-filer gemmer de parametre og metadata, der er nødvendige for, at klienter kan interagere med COM-komponenter under kørsel. Typebiblioteker kan indlejres i en .EXE-fil, et .DLL-bibliotek eller en .ocx ActiveX-objekt som en TYPELIB-ressource - eller defineres i en selvstændig .tlb-fil. Windows API-funktionen LoadTypeLib() indlæser dem under kørsel.
Der findes to binære formater på disken: det moderne MSFT-format (genereret af MIDL-compileren fra .idl-kilde, magic bytes MSFT) og det ældre SLTG-format fra den tidlige Visual Basic- og Office-æra. Visual Basic og andre COM-bevidste værktøjer bruger typebiblioteker til at aktivere IntelliSense og late-binding.
Sikkerhed og tryghed
RISIKO: LOWEn .tlb-fil er en skrivebeskyttet binær typebeskrivelse og indeholder ingen eksekverbar kode. Indlæsning eller inspektion af en (i OleView, Visual Studio eller en TLB-fremviser) er sikker. Den kan ikke køre kode af sig selv. COM-komponenten, som .tlb-filen beskriver (en .dll eller .ocx), er den eksekverbare del og bærer sin egen risiko - men selve .tlb-filen er harmløse metadata.
Formatdetaljer
kort fortalt- Delphi Type Library fil (.tlb) - Borland/Embarcadero Delphi bruger også .tlb til COM-typebiblioteker, det genererer - samme Microsoft COM-standardformat, blot oprettet af Delphis TLIBIMP- eller TLIB-værktøjer.
- Watcom C++ linker temp-fil - Nogle ældre Watcom/OpenWatcom-builds brugte .tlb som en midlertidig objekt-/linkerfil - ikke relateret til COM, må ikke åbnes som et typebibliotek.
Programmer der åbner TLB-filer
Tekniske detaljer
dyb specifikation| Formattype | Binært COM/OLE-typebibliotek, der beskriver grænseflader, metoder og typedefinitioner |
| MSFT-format magic bytes | 4D 53 46 54 - MSFT-signatur ved offset 0; moderne format genereret af MIDL/CreateTypeLib2 |
| SLTG-format magic bytes | 53 4C 54 47 - SLTG-signatur ved offset 0; ældre format fra Visual Basic-æraen fra CreateTypeLib |
| Byte-rækkefølge | Little-endian |
| Typisk filstørrelse | 10 KB - 2 MB (varierer med antallet af grænseflader og typer beskrevet) |
| Intern struktur | Fast header, segmentmappe, streng-pool, GUID-pool og typebeskrivelsesposter, der koder alle grænsefladedefinitioner, metodesignaturer, konstanter og hændelser |
| Indlejret form | Typisk gemt som en TYPELIB-ressource inde i en .dll, .ocx eller .exe frem for som en selvstændig fil |
| Byggeværktøj | MIDL-compiler (.idl → .tlb); forældet MKTYPLIB (.odl → .tlb) |
| Windows load API | LoadTypeLib() / LoadRegTypeLib() |
| Platform | Kun Windows (OLE/COM-undersystem) |
| Primær anvendelse | Muliggør early binding, IntelliSense og COM-automationsscripting i udviklingsværktøjer og runtime-klienter |
| Delvis efterfølger | .winmd (ECMA-335 metadata) til WinRT; .NET assembly metadata til managed COM-interop |
| Udgivet | 1993 (OLE 2.0 / COM; type library concept introduced for OLE Automation) |
| Seneste version | MSFT format used with CreateTypeLib2 API (current; generated by MIDL compiler); SLTG format (older, CreateTypeLib API) |
| Åben standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
TLB-konverteringer
Fællesskabets Q&A
spurgt af brugereIngen spørgsmål endnu - vær den første til at spørge om TLB-filer.