Elektronisk lärobok för kursen "Fortsättningsutbildning för chefer, specialister och universitetslärare inom området IKT." Infoga objekt i ett fält med datatyp ole

    OLE Automation är en Microsoft-teknik som låter dig komma åt COM-objekt från tolkar av skriptspråk som VBScript (i för närvarande stöd för anrop till OA-objekt finns tillgängligt i Windows-versioner alla populära... ... Wikipedia

    OLE kommando- Visas på skärmen när markören placeras på ett OLE-objekt och höger musknapp är nedtryckt. Ämnen informationsteknologi i allmänhet EN verb...

    OLE (English Object Linking and Embedding, uttalas oh lay [oley]) är en teknik för att länka och bädda in objekt i andra dokument och objekt, utvecklad av Microsoft. År 1996 år Microsoft döpte om tekniken ActiveX... Wikipedia

    Objekt i arkitektur Microsoft COM. Beskrivning En moniker är ett oföränderligt objekt, initierat av en sträng, och som har operationen "skapa en instans av objektet från den lagrade data som finns på den plats som specificeras av den givna strängen." Andra... ... Wikipedia

    Denna artikel eller avsnitt innehåller en lista med källor eller externa länkar, men källorna till enskilda uttalanden är fortfarande oklara på grund av bristen på fotnoter... Wikipedia

    Språkklass: objekt orienterad programmering Uppträdde i: 1992 Författare: Kristen Nygård, Ole Lehrmann Madsen, Birger Møller Pedersen och Bent Bruun Kristensen Datatypning: strikt, statisk Grundläggande... Wikipedia

    Denna term har andra betydelser, se bibliotek (betydelser). TLB (engelsk typ Bibliotekets bibliotek typer) hierarkisk lagring av information om ActiveX-serverfunktioner i OLE Automation. Typbiblioteket är ett av ... Wikipedia

    - (vanligtvis bara VBScript) skriptspråk programmering, tolkad Windows-komponent Skriptvärd. Det används ofta för att skapa skript i operativsystem Microsoft familj Windows. VBScript skapades av Microsoft... Wikipedia

    Denna term har andra betydelser, se .NET. .NET Remoting är en komponent skapad av Microsoft. API för interprocesskommunikation. Implementering från Microsoft SOAP-protokoll(webbservice). Släpptes 2002 tillsammans med... ... Wikipedia

    objektbindning och inbäddning- Microsoft-teknik. Låter dig kombinera olika applikationsprogram komponenter i Windows-miljö. Länkning och inbäddning är två sätt att inkludera programmerbara objekt i ett sammansatt dokument. Vid länkning, originaldata... ... Teknisk översättarguide

    Windows PowerShell ... Wikipedia

OLE-teknik(Object Linking and Embedding) - teknik för att hantera och utbyta information mellan mjukvarugränssnitt andra applikationer. Objektlänkning och inbäddning.
OLE låter dig skapa objekt (bilder, ritningar och text) i en applikation och sedan visa dessa objekt i andra applikationer. Du kan till exempel använda OLE-teknik för att skapa ett diagram i ett kalkylblad och sedan visa det i CorelDRAW. Objekt placerade i ett program som använder OLE kallas OLE-objekt. För att OLE-tekniken ska fungera måste applikationen som används för att skapa OLE-objektet och applikationen som OLE-objektet placeras i stödja OLE-läge. CorelDRAW stöder alla OLE-funktioner, men vissa applikationer stöder bara några av funktionerna.

Serverapplikation och klientapplikation
Vid användning av OLE deltar två applikationer i informationsutbytet - en serverapplikation och en klientapplikation.
Serverapplikationen används för att skapa och redigera OLE-objekt (bilder, ritningar, texter). Efter att objektet har skapats placeras det i klientapplikationen. Till exempel när du skapar ett diagram i ett kalkylblad och placerar det i CorelDRAW med OLE. I det här fallet är kalkylarket serverapplikationen och CorelDRAW är klientapplikationen. Vissa applikationer kan fungera som både server- och klientapplikationer, andra har inte denna förmåga. Till exempel kan CorelDRAW vara både server och klientapplikation, samtidigt kan Corel PHOTO-PAINT bara fungera som en serverapplikation.

Länka och bädda in
OLE-objekt kan associeras med eller bäddas in i klientapplikationer. Ett OLE-länkat objekt kopplas till en separat fil. Utseendet på ett OLE-objekt i en klientapplikation styrs utifrån information som lagras i en extern fil. När denna externa fil ändras till serverapplikation,OLE-objektet uppdateras därefter. Ett inbäddat OLE-objekt finns helt och hållet i klientapplikationsfilen, så det är inte associerat med en extern fil.

Urklipp
Urklipp är ett temporärt minnesområde som används för att lagra information. Implementerat möjligheten att kopiera ett element eller en del av det från serverapplikationen till urklipp och sedan placera den i klientapplikationen. Detta element blir ett OLE-objekt. På enkel kopiering och information infogas blir detta element ett OLE-inbäddat objekt. När du skapar ett OLE-länkat objekt med hjälp av urklipp använder du kommandot Klistra in special. När du använder klippbordet blir det inklistrade elementet inte alltid ett OLE-objekt. Till exempel blir vanlig text från en ASCII-textredigerare bara CorelDRAW-text när den klistras in. Att genomföra full kontroll Du bör använda kommandot Klistra in special på inklistrade element.

Bogsering
Bogsering är det enklaste sättet att skapa ett OLE-objekt. Med hjälp av musen kan du välja ett element i serverapplikationen, placera det i klientapplikationen, varefter det automatiskt blir ett OLE-objekt. När du normalt drar ett markerat objekt blir det ett OLE-inbäddat objekt. Om det valda objektet kommer att bogseras medan du trycker CTRL-tangenten eller SHIFT, blir det ett OLE-länkat objekt. När du drar filer till CorelDRAW från skrivbordet Windows skrivbord 95 kommer CorelDRAW att försöka importera dem först innan du skapar OLE-länkade objekt. För ökad processkontroll, tryck på vid bogsering höger knapp mus att ringa innehållsmeny. Denna meny låter dig ställa in metoden för vilken specificerade element kommer att placeras i dokumentet.

Restriktioner för användning av OLE-objekt i CorelDRAW
I de flesta fall kan du bara redigera OLE-objekt med hjälp av en serverapplikation. Det finns begränsningar för att redigera ett OLE-objekt direkt med CorelDRAW följande begränsningar: CorelDRAW-objekt kan inte roteras Om ett OLE-objekt placeras i en grupp eller i ett PowerClip kan det roteras, men detta kan leda till oavsiktliga konsekvenser och rekommenderas inte. Du kan inte använda effekter från menyn Effekter på dem, förutom när du arbetar med PowerClip för att ansluta, sammanfoga, skära och utesluta med andra objekt. Det finns ett begränsat antal sätt att ändra OLE-objekt utan att använda en serverapplikation.
Du kan arbeta med OLE-objekt följande åtgärder: ändra storlek och flytta dem kopiera Kopior av länkade objekt mappas till samma fil som originalobjektet. Placera import- och exportfiler i PowerClip-behållare. Import- och exportfilter är översättare som förhandlar dubbelriktad kommunikation mellan applikationer.

Filformat
För att lagra data i datorfiler, Kan appliceras olika system. Systemet som används i en given fil bestämmer dess format. Filer olika typer, till exempel, raster, vektor, ljud, text, etc., använd olika format. Formatet kan ofta identifieras av filtillägget som lagts till i filnamnet när det är skrivet i det angivna formatet. Till exempel .CMX, .BMP, .DOC, .AVI, .TIF, etc. I Windows-applikationer 95 i Explorer eller dialogrutor, liknande dialogrutan Öppna bild i Corel PHOTO-PAINT, använder olika ikoner för att visa olika format. Ofta skapas filformat speciellt för att arbeta med vissa applikationer. Till exempel lagras bilder som skapats i CorelDRAW i filer med filtillägget .CDR. Andra format är mer generella, som .TXT-formatet, som är en ASCII-fil som inte är associerad med specifika applikationer.

Filkomprimering
För att spara utrymme på hårddisken lagras filer ofta i komprimerade format. Vanligtvis, ju mer komprimerad en fil är, desto längre tid tar det att skriva eller läsa. Det finns två typer av filkomprimering: förlustfri och förlustfri. Med förlustfri komprimering bevaras all originaldata under komprimering och expansion. Förlustfri komprimering rekommenderas för att lagra text eller numerisk data, t.ex. kalkylblad. RLE-, LZW- och CCITT-metoder använder förlustfria kompressionstekniker. Förlustkompression ger mer hög grad komprimering av information och kan därför vara användbar när den kostnadsbesparande faktorn disk utrymmeär kritisk. När du använder den här typen av komprimering går vissa originaldata förlorade, men om det inte är av intresse för användaren kommer dess förlust inte att ha en betydande inverkan på det slutliga resultatet av arbetet. JPEG använder en förlustkompressionsteknik och används främst för att komprimera färg- och tvåfärgsbilder i gråskala. Informationen som kasseras under komprimeringen påverkar inte bildkvaliteten nämnvärt.

Färgdjup
Färgdjup (även kallat färgbitdjup) bestämmer antalet färger som a den här filen. En 1-bitars fil stöder två färger (vanligtvis svart och vit), en 2-bitars fil stöder 4 färger, en 4-bitars fil stöder 16 färger, en 8-bitars fil stöder 256 färger och en 24-bitars fil stöder 16 miljoner färger.
En gråskalebild finns i en 8-bitars fil, vilket ger 256 graderingar mellan vitt och svart. Ju större färgdjup en fil stöder, desto mer utrymme tar den upp på din hårddisk. Ofta kan färgdjupet ställas in när du sparar eller exporterar en fil. Om originalbilden bara använder ett fåtal färger och sparar den på ett högre färgdjup (till exempel 16 till 256 färger) kommer en bild som är mycket nära originalet i färg. Men om den ursprungliga flerfärgsbilden konverteras med ett lägre färgdjup (till exempel när en 24-bitarsfil konverteras till en fil som stöder 256 färger), skapas filen färgpalett och kommer att använda kombinationer av dess färger för att simulera färgerna i originalbilden. Färgerna i denna palett beror på färgerna i originalbilden.
Olika applikationer stöder olika färgdjup. Samtidigt stöder vissa format ett visst antal färger. När du väljer det format som filen ska lagras i bör du ta hänsyn till alla färgbegränsningar som införs av detta format, såväl som av programmet som använder den här filen.
Anteckningar Ytterligare information om specifika filformat, som innehåller tekniska anteckningar om deras användning, kan erhållas i onlinehjälpsektionen för frågor teknisk support. Filformat som stöder Ett stort antal färger behöver inte nödvändigtvis stödja alla färgdjup under dess maximala färgdjup. Ett format kan till exempel stödja 24-bitars färg men inte svartvitt. I vilket fall som helst, när du utbyter information med en annan applikation, måste du se till att det nödvändiga filtret finns. På anpassad installation Corel-applikationer måste läggas till i listan aktiva filter önskat filter.

Filterhanterare
Corel Filter Manager innehåller filformatfilter som stöds av alla Corel-program. Om du arbetar i CorelDRAW och vill öppna en fil i ett annat format än .CDR eller .CMX (CorelDRAWs ursprungliga filformat), kommer filhanteraren att översätta dessa filer så att programmet kan öppna dem. Om du behöver spara en bild i ett annat format än .CDR eller .CMX, konverterar filterhanteraren först filen till önskat format.

Importera och öppna filer
Corel-program stöder en mängd olika filformat, men alla specifik tillämpning bara en är egen. Ett undantag är CorelDRAW, som stöder två källformat(.CDR och .CMX). Om du behöver ladda en fil som har något annat format bör du importera den eller öppna den med ett filter.

Exportera och spara filer
Om du behöver spara en fil i ett icke-inbyggt applikationsformat bör du exportera den eller spara den i i önskat format. Kommandona Exportera och Spara som finns i Arkiv-menyn. När du anropar något av dessa kommandon öppnas en dialogruta där du måste välja en enhet och mapp. Du måste ange ett filnamn och välja dess typ i listrutan Filtyp.

Litteratur
1. Inside OLE 2-(2e) av Kraig Brockschmidt (Recensat maj 1995).

Recension

OLE Grunderna

TOLEContainer-objekt

Exempel OLE-applikation

Spara ett OLE-objekt i en databas

  1. Recension
  2. Från artikeln kommer du att lära dig grundläggande information om OLE, några saker om OLE 2 och OLE Automation. Den här artikeln talar om att använda TOLEContainer-objektet för att bygga en OLE-applikation i Delphi.
  3. OLE Grunderna
  4. Innan vi går in på grunderna i OLE måste vi granska lite terminologi.

    Förkortningen OLE står för Objects Linked and Embedded J ). Data som delas mellan applikationer kallas OLE-objekt. En applikation som kan innehålla OLE-objekt anropas OLE-behållare (OLE-behållare). En applikation från vilken data kan inkluderas i en OLE-behållare som ett OLE-objekt anropasOLE-server.

    Till exempel kan MicroSoft Word inkludera grafik, ljud- och videoklipp och många andra objekt i ett dokument (det här dokumentet kallas ibland sammansatt dokument ).

    Som namnet antyder kan OLE-objekt antingen fästas på eller inkluderas i en OLE-behållare. I det första fallet kommer data att lagras i en fil på disk, vilket program som helst kommer att ha tillgång till dessa data och kommer att kunna göra ändringar. I det andra fallet ingår data i OLE-behållaren och endast den kommer att kunna visa och ändra denna data.

    OLE är en vidareutveckling av idén om data som delas mellan applikationer. Om man använder DDE var det möjligt att arbeta med text, så gör OLE det enkelt att integrera bearbetning av alla typer av data i en applikation. Precis som med DDE kräver klientapplikationen (OLE-behållaren) en OLE-serverapplikation för att fungera korrekt. Varje gång en användare kommer åt ett OLE-objekt i ett klientprogram för att visa eller redigera data (vanligtvis dubbelklickar man på ett objekt), startas serverapplikationen, där data bearbetas.

    I naturen finns det flera typer av OLE, som skiljer sig åt i hur OLE-servern aktiveras. OLE version 1 kör servern in separat fönster. OLE 2 implementerar vad som kallasaktivering och redigering på plats. I det här fallet körs servern "inuti" klientapplikationen, ändrar utseendet på systemmenyn, verktygsfältet etc. Utvecklingen av OLE-idén ledde till uppkomsten avOLE automation - klientapplikationen kan exekvera en del av serverkoden. Typen av OLE-objekt som placeras i klientprogrammet bestäms av vilken version av OLE servern stöder.

  5. TOLEContainer-objekt
  6. TOLEContainer-objektet finns på sida System Paletter Component och behövs för att skapa OLE-containerapplikationer. TOLEContainer döljer all komplexitet som är förknippad med den interna organisationen av OLE och ger programmeraren ett ganska enkelt gränssnitt. Låt oss bygga en enkel applikation med ett OLE-objekt. Skapa nytt projekt och placera TOLEContainer på formuläret, i objektinspektören, dubbelklicka på egenskapen ObjClass eller ObjDoc - standarddialogrutan "Infoga objekt" i Windows visas (se fig. 1)

    Den här dialogrutan innehåller en lista över alla OLE-servrar som är registrerade i systemet (registrering sker under programinstallationen). Typen av OLE-objekt bestäms av den server du anger. Om du skapar nytt objekt(Skapa ny), när du sedan klickar på OK kommer OLE-serverprogrammet att starta, där ett nytt objekt skapas. Efter att ha avslutat serverprogrammet, det nya OLE-objektet sätter på(inbäddat objekt) i programmet. Ett OLE-objekt kan skapas med hjälp av en befintlig fil i formatet av en av OLE-servrarna. För att göra detta, välj Skapa från fil (se fig. 2)


    Det valda objektet kan antingen inkluderas i applikationen eller länkas genom att markera länken.

    Så när vi skapar vårt projekt, låt oss skapa ett nytt objekt genom att välja för detta, till exempel, Microsoft Word Dokument (Fig. 1). Klicka på OK och efter att MS Word startar, skriv valfri text där (" Detta är ett OLE-objekt Microsoft Word-dokument "). För att slutföra arbetet har menyn en speciell post "Arkiv|Stäng och återgå till Form1" (Win'95+MS Word 7.0). Kör projektet, det kommer att se ut ungefär så här:

    Dubbelklicka på OLE-behållaren - MS Word startar med ett dokument från OLE-objektet, som kan redigeras, och alla ändringar sparas i OLE-objektet.

    Om du under designen väljer ett objekt att inkludera i en OLE-behållare, så skrivs det helt in i en formulärfil (FORM1.DFM) och kompileras därefter till en EXE-fil. I fallet med mycket stora objekt kan detta leda till långa pauser under designen och till och med ett "Out of of resurs"-fel. Därför rekommenderas det att göra stora objekt länkade.

  7. Spara ett OLE-objekt i en databas

Ibland är det nödvändigt att lagra OLE-objekt inte i filer, utan i en databas (BLOB-fält i en tabell). Naturligtvis i I detta fall OLE-objektet måste vara inbäddat för portabilitetsändamål. Tyvärr ingår inte Delphi i standarddistributionen. speciellt föremål skriv TDBOLEContainer för dessa ändamål, men OLE-objektet kan sparas och återställas med metoderna SaveToStream och LoadFromStream. Till exempel:

procedure TOLEForm.SaveOLE(Avsändare: TObject);

BlSt: TBlobStream;

Börja

Med Tabell1 gör

BlSt:=TBlobStream.Create(BlobField(FieldByName("OLE")),

bmReadWrite);

OLEContainer.SaveToStream(BlSt som TSream);

BlSt.Fri;

Access 2010 har möjlighet att lägga till objekt i ett fält med OLE-datatyp. I det fall datatypen anges som OLE (objektlänkning och inbäddning– objektbindning och inbäddning), sedan Få åtkomst till DBMS sparar externt ett objekt V delad fil databas, och allokerar för dess lagring så mycket utrymme som detta objekt upptar i form av en separat fil. Under föremål ska förstås som filer skapade som applikationer i grafiska redaktörer, videoklipp, i MS Office-applikationer, etc. När en tabell är fylld med data som är ett objekt genereras ett meddelande om programmet som kan användas för att öppna detta objekt i motsvarande position i fältet med OLE-datatypen. Visar ett objekt kommer endast att genomföras i formulär och rapporter.

För bädda in ett objekt i fält med OLE-datatyp du måste öppna bordet "Konstruktör"-läge. Lägg till ett nytt fält till exempel "Produktfoto." Välj datatyp "Fält OLE-objekt» , och spara sedan tabellen.

Sedan i läget "Tabell". i raden för inmatning av data, klicka med höger musknapp, i menyn som öppnas, välj raden med kommandot, vilket öppnar en dialogruta (Fig. 3.38, Fig. 3.39).

Ris. 3.38 Infoga ett objekt

Ris. 3.39 Dialogruta för att lägga till ett nytt objekt i en Access-tabell

Kom ihåg att det finns två alternativ för att bädda in objekt som data. Första tillfället föreskriver användningen Typiska Användningsområden för att skapa en fil som Access stöder är det andra alternativet att infoga ett objekt , som låter dig använda vilken fil som helst som en datakälla (bild 3.40).

Ris. 3.40 Lägga till ett nytt objekt i en Access-tabell från en fil

1. Skapa ett objekt från en fil.

När det gäller data, vilka är objekt för databasen, och är externa filer, då måste du ha dessa filer. Därför måste du skapa flera filer för att se hur de visas i databasen i framtiden, och även försöka ändra dessa filer. Till exempel om du har ett fotografi av ett objekt i filen Monitor.jpg(jpg är ett universellt fotoformat). För att denna fil ska sparas i databasen bör du markera rutan (bild 3.40) "Skapa från fil" , varefter fönstret som visas i figur 3.41 visas. Med hjälp av en knapp "Recension" du bör välja önskad fil.

Ris. 3.41 Hitta en fil när du skapar ett objekt i databasen

På motsvarande rad för fältet, t.ex. "Produktfoto" ordet kommer att visas "Paket", betyder det att filen är knuten till programmet som skapade den. Därför, när användaren tittar på en databas, oavsett om det är en fråga, ett formulär eller en rapport, kommer användaren att se en bild av filen som en ikon, och när man dubbelklickar på denna bild kommer systemet först att hitta applikationen och sedan visa innehållet i filen i den (i i detta exempel detta foto). Undantaget är bildfiler som sparats med tillägget .bmp(bitmappsformat). Det bör dock komma ihåg att filer skapade i Microsoft-applikationer, kommer att visas omedelbart i formulär och rapporter. Slutsatsen är enkel, fotografier kan infogas i applikationer som Paint, Word, Power Point och sparas som separata filer, och anslut sedan som ett objekt till databasen. Prova att skapa flera foto- och textfiler med olika Windows-redigerare. Du kan till exempel öppna Word-dokument, infoga ett foto från filen, lägg till text och spara sedan som: Monitor.docx(Fig. 3.42).

Ris. 3.42 Fotofil skapad i Word

2. Skapande av nya objekt.

Med att skapa nya objekt i databasen ska du mena att använda ett program där filen skapas och sedan inkluderas i fältet som beskriver typen av denna OLE. För att starta läget för att skapa nya objekt måste du öppna tabellen i "Tabell"-läge, Välj alternativ "Skapa ny" i dialogrutan (Fig. 3.39), och välj sedan i listan "Objekttyp" (erforderlig ansökan). Listan över applikationer som Access stöder för att skapa ett objekt finns i listan (Fig. 3.43), som öppnas efter att du kört kommandot "Infoga objekt" .

Ris. 3.43 Lista över Access-objekttyper som kan användas för att skapa filer

Bekvämligheten med att använda applikationer för att skapa objekt i form av filer är att dessa filer i framtiden kan användas autonomt eller korrigeras i databasen.

Låt oss överväga alternativ för att skapa objekt för databasen, med hjälp av färgapplikationer

Det är till exempel nödvändigt att skapa ett objekt med en bild av ett företag och text, som databasanvändaren senare kan ersätta eller korrigera. För att göra detta måste du välja från listan Bitmapp Bildobjekt, ytterligare teknik för att skapa ett objekt visas i figur 3.44.

1. Öppna Applicering av färg

2. Infoga ett foto från en fil.

3. Lägg till text (om det behövs).

4. Spara som en fil.

5. Stäng programmet.

Ris. 3.44 Teknik för att skapa ett objekt i Paint-applikationen

Träning 3.11

1. I tabellen " Varor» i läge "Konstruktör" lägg till en ny kolumn med namnet "Produktfoto", data typ " OLE-objektfält", spara ändringar.

2. I läge "Tabell" i fält "Produktfoto" välj en rad "Infoga objekt från fil", välj (sätta en punkt) "Skapa ny" och ange från rullgardinsmenyn Microsoft dokument Ord. Detta öppnas textredigerare MS Word, här måste du infoga en bild som motsvarar produkten i denna rad. Välj bilder från listan som lagras direkt i editorn (fliken "Infoga", "Bild"-ikonen, "Start"-knappen i dialogrutan till höger), eller infoga en bild från andra program. Du kan använda applikationen Paint (Bitmap Image object), där du kan rita produkten själv. Stäng den skapade filen, den länkas automatiskt till din databas, till raden där den infogades.

3. Gör detta förfarande För alla rader din "Produkter" tabeller.

4. Spara dina ändringar.

Kontrollfrågor

1. Vilka objekt kan infogas i en databas med en OLE-datatyp?

2. Hur kan jag infoga ett foto i en tabell i tabellläge?

3. Var kommer bilden att visas i databasen?

4. Vad är skillnaden mellan metoden "Skapa ett nytt objekt" och metoden "Skapa från fil"?

5. Hur man placerar en produktfotofil i databasen om den har tillägget .png?

6. Går det att redigera en fil som infogas som ett objekt i databasen direkt i filsystem dator?

7. Hur infogar man en presentation i databasen?

8. Vilka applikationsobjekt kan infogas i databasen?

TOleContainer-komponenten låter dig placera ett OLE-dokument på ytan av ett formulär. De vanligaste egenskaperna för denna komponent är AutoActivate, som anger hur OLE-dokumentet aktiveras, State, som anger tillståndet för OLE-behållaren och OleClassName, som anger klassnamnet (CLSID) för OLE-objektet som finns i behållaren . De vanligaste metoderna för denna komponent är:

Ш InsertObjectDialog - visar en standardobjektdialogruta för att välja en dokumenttyp eller ladda den från en fil; w CreateObject - skapar ett OLE-objekt; I CreateObjectFromFile - skapar ett OLE-objekt baserat på befintlig fil som innehåller ett OLE-dokument och placerar det i en OLE-behållare;

I DestroyObject - förstör ett objekt som finns i en OLE-behållare.

Låt oss skapa en enkel applikation som illustrerar användningen av TOleContainer-komponenten. För detta ändamål kommer vi att placera en TPanel-komponent på formuläret med Justera egendom, lika med alClient, på den - TOleContainer-komponenten och huvudmenyn (du kan skapa Nytt objekt och Exit-objekt i den). Panelen och menyn behövs för att visa verktygsfält och menyer för OLE-servrar som betjänar objekt som visas i TOleContainer-komponenten. Om ett formulär som innehåller en TOleContainer-komponent har en meny, kommer servermenyn att bifogas till applikationsmenyn enligt Windows menysammanslagningsregler. Om en TOleContainer-komponent placeras på en TPanel-komponent kommer den senare att visa serververktygsfältet (Figur 5.1).

Ris. 5.1. Form med TOleContainer-komponent

Låt oss skapa en händelsehanterare kopplad till att välja menyalternativet Nytt objekt:

Procedur TForml.NewlClick(Avsändare: TObject); begin 01eContai nerl.InsertObjectDi alog: end:

Genom att starta programmet och klicka på knappen får vi dialogrutan Infoga objekt (Fig. 5.2).


Ris. 5.2. Dialogrutan Infoga objekt

Listan i den här dialogrutan listar alla OEE-dokumentservrar som är registrerade på den här datorn. Du kan välja en av dem (till exempel Microsoft Excel arbetsblad). Nu efter dubbelklicka på TOleContainer-komponenten kommer TPanel-komponenten att innehålla panelen Microsofts verktyg Excel och huvudmenyn i denna applikation, och själva OLE-behållaren - en ny arbetsbok Excel (Figur 5.3).


Ris. 5.3. Aktivt objekt i en OLE-behållare

Om typen av objekt som ska visas i OLE-behållaren är känd i förväg kan du använda metoden CreateObject för TOleContainer-komponenten:

Procedur TForml.NewExcelworksheetlClick(Avsändare: TObject). börja 01eContainerl.CreateObjectC"Excel.Sheet". Falskt): slut;

Den andra parametern i denna metod anger om en ikon ska visas i OLE-behållaren.

OBS -

Även om dialogrutan Infoga objekt endast innehåller namnen på OLE-dokumentservrar, kan i princip alla COM-servrar som har ett användargränssnitt visas i sådana komponenter, särskilt många av elementen ActiveX-kontroller. Om det är nödvändigt att visa i OLE-copyspace användargränssnitt En COM-server som inte är en OLE-dokumentserver bör ange sitt CLSID som den första parametern i CreateObject-metoden

Låt oss ändra applikationen genom att lägga till några fler menyalternativ (Fig. 5.4). Låt oss skapa motsvarande händelsehanterare:

Procedur TForml.ShowPropertieslClickCSender: TObject); börja if 01 eCONtainerl.01eObjectInterface<>noll sedan 01eContai nerl.ObjectProperti esDi alog else ShowMessage("OleContainer är tom"); slutet; procedure TForml.PastespeciallClick(Avsändare: TObject). börja 01eContai nerl.PasteSpeci alDialog: end

Ris. 5.4. Meny för ett program som använder TOIeContainer-komponenten

Låt oss kompilera applikationen och vid körning lägga till något objekt i OLE-behållaren. Genom att välja kommandot Action Show Properties i vår applikation får vi en standarddialogruta som beskriver egenskaperna för ett OLE-objekt (Fig. 5.5).


Ris. 5.5. Dialogruta som beskriver objektegenskaper

Efter att ha placerat några data på urklippet, välj kommandot Action PasteSpecial för vår applikation och få en dialogruta specialinsats objekt från klippbordet Klistra in special (Fig. 5.6).


Ris. 5.6. Klistra in speciell dialogruta

Efter att ha valt den typ av objekt som ska infogas i den föreslagna listan kan vi placera den i OBE-behållaren (Fig. 5.7).


Ris. 5.7. Resultat av att klistra in ett objekt från urklipp