• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Как распределить память в С++ Builder 6 для работы своей программы

  • Автор темы xxxsas
  • Дата начала
X

xxxsas

Как распределить память в С++ Builder 6 для работы своей программы?
В обычном С++ есть функции MALLOC и FREE, но там мы выделяем память из исходных данных(в смысле мы почти весь код прописываем вручную и память распределить легко), а как распределить память допустим на операцию, если код:

void __fastcall TForm1::N6Click(TObject *Sender)
{

User_Date->Caption = DateToStr(Date());
QueryEDP->SQL->Clear();
QueryEDP->SQL->Add("SELECT telefone, adress, inn, name,");
QueryEDP->SQL->Add("dox_iskl_iz_prib, proc_bank_o, vir_ot_real_cb,");
QueryEDP->SQL->Add("vir_ot_real_predpr_imk, price_real_pnz,");
QueryEDP->SQL->Add("lgots, yb_269, yb_ne_ych_for_nobl,");
QueryEDP->SQL->Add("yb_po_dog_dy, yb_ot_real_pnz, price_by_p_imk,");
QueryEDP->SQL->Add("stoim_chist_aktivov, dox_ychr_dov_ypr, vd");
QueryEDP->SQL->Add("FROM dbo.nalog Dbo_nalog WHERE username = :username");
QueryEDP->Params->ParamByName("username")->Value = User_EDP->Caption;
QueryEDP->Open();
Edit18->Text = QueryEDP->FieldByName("name")->AsString;
Edit19->Text = QueryEDP->FieldByName("inn")->AsString;
Edit20->Text = QueryEDP->FieldByName("adress")->AsString;
Edit21->Text = QueryEDP->FieldByName("telefone")->AsString;
Edit2->Text = QueryEDP->FieldByName("dox_iskl_iz_prib")->AsString;
Edit15->Text = QueryEDP->FieldByName("proc_bank_o")->AsString;
Edit16->Text = QueryEDP->FieldByName("vir_ot_real_cb")->AsString;
Edit17->Text = QueryEDP->FieldByName("vir_ot_real_predpr_imk")->AsString;
Edit22->Text = QueryEDP->FieldByName("price_real_pnz")->AsString;
Edit23->Text = QueryEDP->FieldByName("lgots")->AsString;
Edit24->Text = QueryEDP->FieldByName("yb_269")->AsString;
Edit25->Text = QueryEDP->FieldByName("yb_ne_ych_for_nobl")->AsString;
Edit26->Text = QueryEDP->FieldByName("yb_po_dog_dy")->AsString;
Edit27->Text = QueryEDP->FieldByName("yb_ot_real_pnz")->AsString;
Edit28->Text = QueryEDP->FieldByName("price_by_p_imk")->AsString;
Edit29->Text = QueryEDP->FieldByName("stoim_chist_aktivov")->AsString;
Edit30->Text = QueryEDP->FieldByName("dox_ychr_dov_ypr")->AsString;
Edit31->Text = QueryEDP->FieldByName("vd")->AsString;

Panel->Visible = false;
Panel_EDP->Visible = false;
Panel_Perv->Visible = true;
PageControl1->Visible = false;
Panel_Arxiv->Visible = false;
Panel_EDP->Visible = false;
Panel_FINDOPX->Visible = false;
Panel_FINRAI->Visible = false;
Panel_FINRRP->Visible = false;
Panel_FINRYP->Visible = false;
Panel_Help->Visible = false;
Panel_PRTP->Visible = false;
Panel_R_A->Visible = false;
Panel_Reg_New->Visible = false;
Panel_RSRPI->Visible = false;
Panel_RYOV->Visible = false;
Panel_VR->Visible = false;
Panel_YOP->Visible = false;
PanelR_TRR->Visible = false;
PanelRSTSTO->Visible = false;
Panel_BR->Visible = false;
}

Если кто - то может написать пример распределения памяти буду весьма признателен.
 
E

etc

А что вы собираетесь тут распределять? тут уже все "распределено" ...
 
X

xxxsas

в смысле распределено?

У меня при работе программы иногда выскакивает ошибка "Для выполнения операции недостаточно памяти". вот я и подумал - как можно выделить память для реализации отдельной части кода?
 
E

etc

В этом коде ничего к этой ошибке не приведет, ищите не там где светло.
 
X

xxxsas

понятно...такой вопрос еще- можно задать в начале работы своей программы чтобы ей в течении работы выделялся некий постоянный объем памяти? (и кстати есть ли смысл такого выделения)
 
E

European

xxxsas, Вы пытаетесь найти обходы для решения проблемы, но никак не хотите решать проблему. Запускаете программу под отладкой, пытаетесь воспроизвести ошибку, а затем анализируете в коде место падения
 
E

etc

можно задать в начале работы своей программы чтобы ей в течении работы выделялся некий постоянный объем памяти?
Да ей и так выделяется, аж 4 гига, а может уже и больше. ... все так быстро меняется :(
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!