Visual Basic, .NET, ASP, VBA, VBScript
 
  Библиотека кодов  
  Общие вопросы работы с программой  
     
  Условная компиляция  
  Решил донести до вас правду об условной компиляции. Есть в бэйсике такая штука. Удобная временами. Что означает условная и для чего это надо в принципе?
Например, у вас есть программа, которая должна работать как демо-версия и как полная версия.
Прекрасно, вы можете распространять полный код, делая в нем проверку, какой тип версии сейчас запущен. Однако вам боязно: вдруг сломают? Условная компиляция - это возможность не включать в код ненужные блоки. Или, более приближенный к боевым условиям пример: В программе полно отладочной информации - не тащить же ее в реальный проект. Убрать - раз плюнуть, но в какой-то
момент может и пригодится.
Условная компиляция дает нам возможность избежать хранения отдельных версий в виде разных проектов.
Вот вам для начала пример.
В модуле создаем паблик-процедуру:

Public Sub WriteLog(MSG As String)
Dim iFileNum As Long
const LogName = "AppLog" ' эту константу стоит убрать в область деклараций модуля
iFileNum = FreeFile
Open App.Path & "\" & LogName For Append As iFileNum
Print #iFileNum, Format(Now, "mm/dd hh:nn:ss") & " " & MSG
Close #iFileNum
End Sub

Процедура делает элементарные вещи. Открывает файл для записи и пишет туда что попросили. Штука полезная для программ, работающих самостоятельно, без участия человека.
Как будем ее вызывать:

#if isLog then
writelog "Сообщение для записи"
# endif

После чего идем в свойства проекта и в закладке Make ищем поле для записи, обозначенное как Conditional Compilation Arguments и вписываем туда

islog = 1

В этом случае после компиляции код будет содержать вызов процедуры для записи в лог-файл. Если же перед компиляцией изменить настройки

islog = 0,

код вызова включен не будет.

Можно писать туда несколько переменных islog (под любым именем), разделяя каждую двоеточием :


 
     
  VBNet online (всего: 52050)  
 

Логин:

Пароль:

Регистрация, забыли пароль?


В чате сейчас человек
 
     
  VBNet рекомендует  
   
     
  Лучшие материалы  
 
ActiveX контролы (112)
Hitman74_Library (36119)
WindowsXPControls (20739)
FlexGridPlus (19374)
DSMAniGifControl (18295)
FreeButton (15157)
Примеры кода (546)
Parol (18027)
Passworder (9299)
Screen saver (7654)
Kerish AI (5817)
Folder_L (5768)
Статьи по VB (136)
Мое второе впечатление... (11236)
VB .NET: дорога в будущее (11161)
Основы SQL (9225)
Сообщения Windows в Vi... (8788)
Классовая теория прогр... (8619)
 
     
Техническая поддержка MTW-хостинг | © Copyright 2002-2011 VBNet.RU | Пишите нам