1 / 14

Το Μενού Project

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

allan
Download Presentation

Το Μενού Project

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 της εφαρμογής.

  2. Το πηγαίο αρχείο του Project #include <vcl.h> #pragma hdrstop USERES("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;}

  3. Το Μενού Project 2 • 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.

  4. Το αρχείο του Project (bpr) <?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

  5. Project - Options - Forms • Main Form : η βασική πρωτο-εμφανιζόμενη φόρμα της εφαρμογής. • Auto-create forms : λίστα με τις φόρμες που δημιουργούνται αυτόματα κατά την έναρξη της εφαρμογής. • Available forms : λίστα με τις υπόλοιπες φόρμες της εφαρμογής. • Οι φόρμες που δεν δημιουρ-γούνται αυτόματα μπορούν να δημιουργηθούν με εντολές της μορφής : Application-> CreateForm(__classid(TForm1) , &Form1);

  6. Project - Options - Application • Title : Ο τίτλος της εφαρμογής που θα εμφανίζεται κάτω από το εικονίδιο όταν η εφαρμογή είναι minimized. • Help file : το όνομα του αρχείου βοήθειας που καλεί η εφαρμογή όταν κληθεί η βοήθεια. • Icon: Το εικονίδιο της εφαρμογής. • Target file extension : η επέ-κταση του τελικού εκτελέσιμου αρχείου (exe για εφαρμογές, dll για δυναμικές βιβλιοθήκες, ocx για ActiveX εφαρμογές.

  7. Project - Options - Compiler • Code Optimization: ρυθμίσεις βελτιστοποίησης κώδικα. • Warnings: ρυθμίσεις για το ποια warnings θα εμφανίζονται κατά το compile-link. • Debugging: ρυθμίζει την παραγωγή και ενσωμάτωση στα obj πληροφοριών debugging. • Pre-compiled headers: ρυθμίζει την δημιουργία προ-μεταγλωτ-τισμένων αρχείων επικεφαλίδας (csm) για επιτάχυνση του compiling. • Merge duplicate strings: αν υπάρχουν ίδια strings γίνονται ένα.

  8. Project - Options - Compiler 2 • 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 : δύο σετ από ρυθμίσεις.

  9. Project - Options - Advanced Compiler • Instruction set: καθορίζει για τί είδους CPU θα παραχθεί ο κώδικας • Data alignment: καθορίζει πόσων bytes πολλαπλάσιες θα είναι οι θέσεις αποθήκευσης δεδομένων στη μνήμη. Στα structures προστίθενται bytes. • Calling Convention: καθορίζει τον τρόπο κλήσης συναρτήσεων (C:__,case sens., push R2L,var params. Pascal: upper, L2R, fixed params.) • Register variables: καθορίζει αν οι τοπικές μεταβλητές θα υλο-ποιούνται με καταχωρητές.

  10. Project - Options - Advanced Compiler 2 • Autodependency info: ενσωμα-τώνει πληροφορίες αλληλο-εξάρτησης αρχείων (cpp, h) στα object files. • Generate Underscores : _func() • Floating point: καθορίζουν την χρήση των floating point libraries. • Language compliance: καθορί-ζει τι επεκτάσεις γλώσσας για τη C++ θα χρησιμοποιηθούν. • Nested Comments: επιτρέπει σχόλια το ένα μέσα στο άλλο. • MFC compatibility: παράγει κώδικα συμβατό με MFC. • Identifier Length: μήκος ονομά-των μεταβλητών.

  11. Project - Options - Linker • 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 και της κάθε βιβλιοθήκης.

  12. Linker's Map File 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()

  13. Project - Options - Linker 2 • Warnings: καθορίζει ποια warnings θα εμφανίζονται κατά το linking. • PE file options: καθορίζουν όρια για την στοίβα (stack) και την διαθέσιμη μνήμη (heap) της εφαρμογής. • Image base: αναθέτει στην εφαρμογή μία διεύθυνση βάσης και καθορίζει την τοποθέτηση των object files. Η εφαρμογή φορτώνεται πιο γρήγορα γιατί το Λ.Σ. δεν χρειάζεται να κάνει relocation.

  14. Project - Options - Directories/Conditionals • Directories: καθορίζονται μονοπάτια (paths) όπου βρί-σκονται αρχεία του CΒuilder απαραίτητα για compile/link. • Conditional defines: καθορίζει δηλώσεις ψευδοσταθερών (conditionals) που ελέγχονται από ψευδοεντολές του τύπου #ifdef και μπορούν να κάνουν compile τμήματα κώδικα υπό συνθήκη. • Unit aliases: επιτρέπει την αντιστοίχιση δεύτερων ονομά-των σε υπάρχοντα Object Pascal units, που μπορεί να έχουν αλλάξει όνομα, για συμβατότητα προς τα πίσω

More Related