Το Μενού Project

14
Οπτικός Προγραμματισμός Οπτικός Προγραμματισμός Add to Project : Ενσωμάτωση σε ένα project ενός ήδη υπάρχοντος unit και της φόρμας του ή και άλλων αρχείων (.res, .pas, …). Το αρχείο δεν αντιγράφεται αλλά γίνεται include στο project. Remove from Project: αφαιρεί ένα unit και τη φόρμα του ή άλλο αρχείο από το project. Το αρχείο δεν διαγράφεται από το δίσκο. Import Type Library : Επιτρέπει την εισαγωγή νέας βιβλιοθήκης με components (tlb,dll,ocx,exe) Add To Repository : Επιτρέπει την καταχώρηση projects, units και forms στην «αποθήκη» για κοινή χρήση στο περιβάλλον μίας επιχείρησης.

description

Το Μενού Project. Add to Project : Ενσωμάτωση σε ένα project ενός ήδη υπάρχοντος unit και της φόρμας του ή και άλλων αρχείων ( .res, .pas, …) . Το αρχείο δεν αντιγράφεται αλλά γίνεται include στο project. - PowerPoint PPT Presentation

Transcript of Το Μενού Project

Page 1: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Add to Project : Ενσωμάτωση σε ένα project ενός ήδη υπάρχοντος unit και της φόρμας του ή και άλλων αρχείων (.res, .pas, …). Το αρχείο δεν αντιγράφεται αλλά γίνεται include στο project.

Remove from Project: αφαιρεί ένα unit και τη φόρμα του ή άλλο αρχείο από το project. Το αρχείο δεν διαγράφεται από το δίσκο.

Import Type Library : Επιτρέπει την εισαγωγή νέας βιβλιοθήκης με components (tlb,dll,ocx,exe)

Add To Repository : Επιτρέπει την καταχώρηση projects, units και forms στην «αποθήκη» για κοινή χρήση στο περιβάλλον μίας επιχείρησης.

View Source : εμφανίζει το cpp αρχείο του project στο οποίο υπάρχει η σύνδεση με το αρχείο resources (.res) και τις φόρμες. Επίσης υπάρχει και η συνάρτησηWinMain που αποτελεί το entry-point της εφαρμογής.

Page 2: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

#include <vcl.h>#pragma hdrstopUSERES("Project1.res");USEFORM("Unit1.cpp", Form1);WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int){ try { Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->Run(); /* ξεκινά τον βρόχο μηνυμάτων*/ } /* (message loop) */ catch (Exception &exception) { Application->ShowException(&exception); } return 0; }

Page 3: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Languages : Επιτρέπει την σύνδεση της εφαρμογής με πολλαπλά Resource DLLs που μπορεί να περιέχουν strings και άλλα resources σε διαφορετικές γλώσσες.

Εμφανίζει το .bpr αρχείο στον Code Editor. To bpr αρχείο είναι σε μορφή XML.

Export Makefile : παράγει ένα αρχείο .mak με πληροφορίες για το compile και link του project ώστε να μπορεί να χρησιμοποιηθεί το Command line Utility MAKE.EXE

Add New Project : Δημιουργεί ένα νέο project μέσα στο Project Group. Project Group είναι μία ομάδα από projects (εξ’ορισμού ProjectGroup1) στην οποία εργάζονται από κοινού μία ομάδα προγραμματιστών.

Add Existing Project : προσθέτει ένα ήδη υπάρχον project στο Project Group.

Page 4: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

<?xml version='1.0' encoding='us-ascii' ?><!-- C++Builder XML Project --><PROJECT> <MACROS> <VERSION value="BCB.05.03"/> <PROJECT value="Project1.exe"/> <OBJFILES value="Project1.obj Unit1.obj"/> <RESFILES value="Project1.res"/> <IDLFILES value=""/> <IDLGENFILES value=""/> <DEFFILE value=""/> <RESDEPEN value="$(RESFILES) Unit1.dfm"/> <LIBFILES value=""/> <LIBRARIES value=""/> <SPARELIBS value="VCL50.lib"/> <PACKAGES value="VCL50.bpi VCLX50.bpi bcbsmp50.bpi VCLDB50.bpi

VCLADO50.bpi ibsmp50.bpi VCLBDE50.bpi VCLDBX50.bpi QRPT50.bpi TEEUI50.bpi TEEDB50.bpi TEE50.bpi DSS50.bpi TEEQR50.bpi VCLIB50.bpi WEBMID50.bpi bcbie50.bpi dclocx50.bpi

Page 5: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Main Form : η βασική πρωτο-εμφανιζόμενη φόρμα της εφαρμογής.

Auto-create forms : λίστα με τις φόρμες που δημιουργούνται αυτόματα κατά την έναρξη της εφαρμογής.

Available forms : λίστα με τις υπόλοιπες φόρμες της εφαρμογής.

Οι φόρμες που δεν δημιουρ-γούνται αυτόματα μπορούν να δημιουργηθούν με εντολές της μορφής : Application-> CreateForm(__classid(TForm1) , &Form1);

Page 6: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Title : Ο τίτλος της εφαρμογής που θα εμφανίζεται κάτω από το εικονίδιο όταν η εφαρμογή είναι minimized.

Help file : το όνομα του αρχείου βοήθειας που καλεί η εφαρμογή όταν κληθεί η βοήθεια.

Icon : Το εικονίδιο της εφαρμογής.

Target file extension : η επέ-κταση του τελικού εκτελέσιμου αρχείου (exe για εφαρμογές, dll για δυναμικές βιβλιοθήκες, ocx για ActiveX εφαρμογές.

Page 7: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Code Optimization: ρυθμίσεις βελτιστοποίησης κώδικα.

Warnings: ρυθμίσεις για το ποια warnings θα εμφανίζονται κατά το compile-link.

Debugging: ρυθμίζει την παραγωγή και ενσωμάτωση στα obj πληροφοριών debugging.

Pre-compiled headers: ρυθμίζει την δημιουργία προ-μεταγλωτ-τισμένων αρχείων επικεφαλίδας (csm) για επιτάχυνση του compiling.

Merge duplicate strings: αν υπάρχουν ίδια strings γίνονται ένα.

Page 8: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Stack frames: καθορίζει αν οι υπορουτίνες κτίζονται με standard entry και exit code, απαραίτητο για debugging.

Treat enum as ints : οι απαρι-θμητοί τύποι θα είναι 4 byte.

Show general messages: εμφάνιση γενικών μηνυμάτων κατά το compile-link.

Extended error info: Εμφανίζει έξτρα πληροφορίες για σφάλματα του compiler.

Full Debug – Release : δύο σετ από ρυθμίσεις.

Page 9: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Instruction set: καθορίζει για τί είδους CPU θα παραχθεί ο κώδικας

Data alignment: καθορίζει πόσων bytes πολλαπλάσιες θα είναι οι θέσεις αποθήκευσης δεδομένων στη μνήμη. Στα structures προστίθενται bytes.

Calling Convention: καθορίζει τον τρόπο κλήσης συναρτήσεων (C:__,case sens., push R2L,var params. Pascal: upper, L2R, fixed params.)

Register variables: καθορίζει αν οι τοπικές μεταβλητές θα υλο-ποιούνται με καταχωρητές.

Page 10: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Autodependency info: ενσωμα-τώνει πληροφορίες αλληλο-εξάρτησης αρχείων (cpp, h) στα object files.

Generate Underscores : _func()Floating point: καθορίζουν την

χρήση των floating point libraries.

Language compliance: καθορί-ζει τι επεκτάσεις γλώσσας για τη C++ θα χρησιμοποιηθούν.

Nested Comments: επιτρέπει σχόλια το ένα μέσα στο άλλο.

MFC compatibility: παράγει κώδικα συμβατό με MFC.

Identifier Length: μήκος ονομά-των μεταβλητών.

Page 11: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Create Debug Info: ενσωματώ-νει πληροφορίες για debugging μέσα στα object files.

Use dynamic RTL: Στην εφαρ-μογή δεν γίνεται link η run-time library αλλά συνδέεται ως DLL.

Use debug libraries: κάνει link με την debug έκδοση της VCL.

Don’t gener.state files: μαται-ώνει το incremental link.

Max errors: ο linker σταματά όταν ανιχνεύσει τόσα errors.

Map file: καθορίζει την παρα-γωγή ενός αρχείου με τον χάρτη της εφαρμογής, όπου φαίνεται η διεύθυνση του κάθε object file και της κάθε βιβλιοθήκης.

Page 12: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Start Length Name Class 0001:00401000 0000028A2 H _TEXT CODE 0002:00404000 000000ED4 H _DATA DATA 0003:00404ED4 000000058 H _BSS BSS 0004:00000000 00000009C H _TLS TLS

Detailed map of segments 0001:00000000 0000014F C=CODE S=_TEXT G=(none) M=C:\CBUILDER5\LIB\C0W32.OBJ ACBP=A9 0001:0000014F 00000039 C=CODE S=_TEXT G=(none) M=C:\CBUILDER5\VCL50.BPI|win.pas ACBP=A9 0001:00000188 00000038 C=CODE S=_TEXT G=(none) M=C:\CBUILDER5\VCL50.BPI|Messages.pas ACBP=A9 0001:000003D8 00000238 C=CODE S=_TEXT G=(none) M=C:\ASK1_3\PROJECT1.OBJ ACBP=A9 0001:00000610 0000107C C=CODE S=_TEXT G=(none) M=C:\ASK1_3\UNIT1.OBJ ACBP=A9 0001:0000168C 00000158 C=CODE S=_TEXT G=(none) M=C:\ASK1_3\UNIT2.OBJ ACBP=A9…. 0001:000008A0 __fastcall TForm1::AboutButtonClick(System::TObject *) 0001:000008C0 __fastcall TForm1::Button1Click(System::TObject *) 0001:00000A64 __fastcall TForm1::Button2Click(System::TObject *) 0001:00000BD8 __fastcall TForm1::Button3Click(System::TObject *) 0001:00000D4C __fastcall TForm1::Button4Click(System::TObject *) 0001:00000884 __fastcall TForm1::CloseButtonClick(System::TObject *) 0001:00000718 __fastcall TForm1::TForm1(Classes::TComponent *) 0001:00001034 __fastcall TForm1::~TForm1()

Page 13: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Warnings: καθορίζει ποια warnings θα εμφανίζονται κατά το linking.

PE file options: καθορίζουν όρια για την στοίβα (stack) και την διαθέσιμη μνήμη (heap) της εφαρμογής.

Image base: αναθέτει στην εφαρμογή μία διεύθυνση βάσης και καθορίζει την τοποθέτηση των object files. Η εφαρμογή φορτώνεται πιο γρήγορα γιατί το Λ.Σ. δεν χρειάζεται να κάνει relocation.

Page 14: Το Μενού  Project

Οπτικός ΠρογραμματισμόςΟπτικός Προγραμματισμός

Directories: καθορίζονται μονοπάτια (paths) όπου βρί-σκονται αρχεία του CΒuilder απαραίτητα για compile/link.

Conditional defines: καθορίζει δηλώσεις ψευδοσταθερών (conditionals) που ελέγχονται από ψευδοεντολές του τύπου #ifdef και μπορούν να κάνουν compile τμήματα κώδικα υπό συνθήκη.

Unit aliases: επιτρέπει την αντιστοίχιση δεύτερων ονομά-των σε υπάρχοντα Object Pascal units, που μπορεί να έχουν αλλάξει όνομα, για συμβατότητα προς τα πίσω