Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi (версии 2009, 2010 Weaver, 2011 Fulcrum)

Автор: tanaseduard
Дата сообщения: 07.07.2011 09:08
plyasunov

В таком случае форма не будет внутри созданого GroupBOX

Добавлено:
Samotek
Спасибо, попробую.
CreateDocking это свой метод или переопределенный?
Автор: Samotek
Дата сообщения: 07.07.2011 11:53
tanaseduard

Цитата:
CreateDocking это свой метод или переопределенный?

Мой:
constructor CreateDocking(AOwner: TComponent; Host: TWinControl; AlignOnHost:TAlign = alClient); virtual;
Автор: 31010
Дата сообщения: 07.07.2011 13:27
Появилась проблемка с RAD studio. На одном компе (домашнем) проект компилируется, запускается и работает все как надо. На другом компе (рабочем) тот же проект компилируется, запускается и вылетает ошибка: Invalid folder path. Не могу понять, в чем причина. Прошу помощи!
Расположение проекта и на первом и втором компе одинаковое. (D:\проект). В проекте используется работа с INI-файлами. Сам ini расположен тоже внутри (D:\проект...)
Уже переустанавливал RAD studio с чисткой реестра, ProgrammFiles и Documents and Settings. Результат тот же самый. Но при первом запуске переустановленный RAD не просил регистрацию, т.е. удалилось не все.
Получается, что сам проект непричём.
Поставил RAD еще на один комп - проект отлично работает.
Может кто помочь? И подсказать либо как ПОЛНОСТЬЮ удалить RAD studio для установки с "нуля", либо что сделать с установленным RAD?
Автор: vez
Дата сообщения: 07.07.2011 13:35
А название папки по русски? Может здесь засада?
Автор: 31010
Дата сообщения: 07.07.2011 13:38
vez
Так на другом компе все тоже самое и на третьем тоже!

Опа! На третьем компе загрузил проект еще раз и тоже "Invalid folder path"

На втором переместил проект в другую папку без русских буковок - тоже самое - Invalid...
Автор: spasius
Дата сообщения: 07.07.2011 13:42
31010
у обеих студий library path одинаковый? используются ли компоненты для доступа к СУБД?
Автор: V1s1ter
Дата сообщения: 07.07.2011 13:45
31010

Цитата:
На другом компе (рабочем) тот же проект компилируется, запускается и вылетает ошибка: Invalid folder path. Не могу понять, в чем причина. Прошу помощи!

Так локализуй место вылета и смотри что там. Может студия и не причем. Если откопилилось и запустилось, то найди ошибку. Может так статься, то ошибка в коде программы, а вылетает из-за благоприятных условий именно на этом компе. На Вашем месте я бы предварительно убедился, что виновата именно Делфи, а не Ваша программа. Для этого у Вас есть все необходимое. И возможно относится к проблеме нудно так "как хорошо, что можно на этом компе выловить еще один баг моей программы!"
Автор: 31010
Дата сообщения: 07.07.2011 13:49
spasius
Без СУБД. library path одинаковый.

Добавлено:
V1s1ter
Для меня это еще сложно, наверно. Вылетает на сколько я понял на создании формы - вот здесь


Код:
public:
    /* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }
    /* TCustomForm.CreateNew */ inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy) : TCustomForm(AOwner, Dummy) { }
    /* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
Автор: spasius
Дата сообщения: 07.07.2011 14:19
31010
смотри что есть в этих событиях формы (OnCreate ...)
Автор: 31010
Дата сообщения: 07.07.2011 14:39
spasius
Натолкнул меня на правильный путь! Спасибо! У меня в AdvExplorerTreeview1->FolderPath был неправильный путь! Всем спасибо и извините за беспокойство! Месяц над проектом не работал и ... вот такая вот байда!
Автор: volod3000
Дата сообщения: 07.07.2011 14:54
Добрый день .
Возникла маленькая проблема, не пойму как решить.
Пробую, до момента создания формы, из ресурса извлечь файл.
Извлечь файл нужно обязательно до создание формы

Почему ни чего не происходит .

Делаю так :



Код:
{$R dll.RES}



//================= Редактор ресурсов

procedure ExtractRes(ResType, ResName, ResNewName : String);
var Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
FreeAndNil(Res);
FreeMemory(Res);
end;

begin

CreateDir('C:\ProgramData\dll');
ExtractRes('RES', 'ba', 'C:\ProgramData\dll\my.dll');
Sleep(1000);

Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;

end;
Автор: V1s1ter
Дата сообщения: 07.07.2011 16:29
volod3000

Цитата:
из ресурса извлечь файл.


Цитата:
Res.SavetoFile(ResNewName);

Так извлечь или сохранить?
Автор: Eternal_Shield
Дата сообщения: 07.07.2011 22:29
volod3000
Зачем FreeMemory после FreeAndNil? FreeAndNil освобождает объект и обnilиливает указатель. Вызывать FreeMemory для nil - это, по крайней мере, не очень интересное занятие. Удалите уже этот насчастный FreeMemory.

И вообще, лучше любую работу с TResourceStream заключать в try..except..end; секцию. Здоровее будете.
Автор: AlexIntegral
Дата сообщения: 07.07.2011 23:00
Почему Delphi может использовать функцию POS без модуля System.pas?
Автор: spasius
Дата сообщения: 07.07.2011 23:30
потому что он подключен всегда, даже если не прописан
Автор: Varenik
Дата сообщения: 08.07.2011 19:08
volod3000
Попробуйте перед
Цитата:
Res.SavetoFile(ResNewName);
вставить Res.Position:=0;
Автор: volod3000
Дата сообщения: 08.07.2011 20:23

Цитата:
Так извлечь или сохранить?


Не, цепляйтесь к словам, естественно извлечь и сохранить.

Eternal_Shield

Согласен с Вами, полезное замечание.
________________________________________

Спасибо, разобрался, в моем случае виной стало способ погрузки DLL.
Поменял на динамическую загрузку и все заработало как надо.


Автор: SerGap
Дата сообщения: 11.07.2011 21:58
[del]
Автор: Man_Without_Face
Дата сообщения: 21.07.2011 16:53
Как в Delphi 2009 присвоить строке значение: '
Автор: mdid
Дата сообщения: 21.07.2011 17:08
Man_Without_Face
на сколько я понял вопрос то во всех версиях одинарная кавычка всем программерам является в виде двух одинарных кавычек то есть ''
Автор: volod3000
Дата сообщения: 23.07.2011 17:23
Man_Without_Face

Вот так работает :


Код: Label1.Caption := #39 + 'Монитор' + #39;
Автор: PrWork1
Дата сообщения: 25.07.2011 10:22
Подскажите, как в Delphi проще отправить на принтер файл xls, без явного открытия Excel в дельфи?
Автор: relictus
Дата сообщения: 25.07.2011 10:39
PrWork1
как-то так:

Код: ExcelApp := CreateOleObject('Excel.Application');
try
ExcelApp.Workbooks.Open(ExtractFilePath(ParamStr(0)) + '~tmp.xls');
// Print it out
ExcelApp.ActiveWorkbook.PrintOut; // or ExcelApp.Worksheets.PrintOut;
finally
// Close Excel
if not VarIsEmpty(ExcelApp) then
begin
ExcelApp.Quit;
ExcelApp := Unassigned;
end;
end;
Автор: PrWork1
Дата сообщения: 25.07.2011 10:52
relictus

Спасибо, я примерно так и делаю..

А можноли сделать как-то так:

Эксплолер.Напечатай файл принтер:="..", файл:="ппп.xls?
чтобы эксплолер сам если нужно открывал эксель?
Автор: Frodo_Torbins
Дата сообщения: 25.07.2011 11:59
PrWork1
Можно в ShellExecute передать print вместо open, но тут уж от самого экселя будет зависеть как он это обработает.
Автор: PrWork1
Дата сообщения: 26.07.2011 08:18
Frodo_Torbins
Спасибо, попробую.
Автор: Medium
Дата сообщения: 27.07.2011 00:04
Подскажите, плз, кто знает - где в настройках или файлах Delphi XE (возможно, эта функция появилась и раньше) можно поменять расстояние, которое подсвечивается при отступах от края формы, между контролами. По-умолчанию у меня линии появляются при отступе в 8 пикселей сверху/снизу/слева/справа.
Автор: data man
Дата сообщения: 27.07.2011 00:13
Medium

Tools->Options->Environment Options->VCL Designer->Grid Size/Snap Tolerance
Не оно ?
Автор: regkz
Дата сообщения: 27.07.2011 05:57

Цитата:
8 пикселей сверху/снизу/слева/справа

вообще-то это рекомендованный M$ стандарт, не вижу смысла его менять
Автор: Medium
Дата сообщения: 27.07.2011 11:02
data man
Не оно.
regkz
Ну вот, а я вижу, капитан

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: Установка копоненты ZipTV


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.