Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];

Вниз

Tbitmap   Найти похожие ветки 

 
ghg   (2003-02-28 10:00) [0]

Господа что не так в ниже следующем коде?
Программа сыпется в выделенной строке.
Заранее благодарен.


TData_square = class
public
...
map : Tbitmap;
end;

constructor Tdata_square.Create;
begin
inherited Create;
...
map:=Tbitmap.Create;
end;

destructor Tdata_square.Destroy;
begin
freeandnil(map);
...
inherited;
end;

procedure picture_save(filename : string);
begin
if filename<>"" then
begin
square.map.LoadFromFile(filename);
square.xmin_map:=square.Xmin;
square.xmax_map:=square.Xmax;
square.ymin_map:=square.ymin;
square.ymax_map:=square.ymax;
end else
begin
square.map.FreeImage;
square.xmin_map:=1;
square.xmax_map:=1;
square.ymin_map:=1;
square.ymax_map:=1;
end;
end;


 
paxer   (2003-02-28 10:16) [1]

А создал ли ты объект square? (глупо конечно, но бывает)


 
Mike_Goblin   (2003-02-28 10:17) [2]

Куда она сыпется? в пакет, в мешок? А сообщение об ошибке
В классе на первый взгляд все в порядке
В процедуре не понятно каким образом создается объект square, возможно в выделенной строке ты пытаешься обратиться к объекту, которого не создал


 
ghg   (2003-02-28 10:24) [3]

Со square все в порядке, я его создаю и использую до этого и в определенный момент загружаю из файла рисунок.

А ошибка AccessViolation.


 
ghg   (2003-02-28 10:27) [4]

А вот если написать так, то работает.

procedure picture_save(filename : string);
var tt : tbitmap;
begin
if filename<>"" then
begin
tt.LoadFromFile(filename);
square.map:=tt;
square.xmin_map:=square.Xmin;
square.xmax_map:=square.Xmax;
square.ymin_map:=square.ymin;
square.ymax_map:=square.ymax;
end else
begin
square.map.FreeImage;
square.xmin_map:=1;
square.xmax_map:=1;
square.ymin_map:=1;
square.ymax_map:=1;
end;
end;


Че к чему? Не понятно.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.03.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.037 c
1-29818
dv81
2003-02-28 04:51
2003.03.10
Как сопоставить размер RichEdit в зависимости от текста ?


1-29793
Alexander_K
2003-02-27 16:33
2003.03.10
Калькулятор


1-29913
Barriage
2003-02-26 00:56
2003.03.10
Как создавать и удалять элементы управления в RUNTIME


1-29927
Володя
2003-02-27 07:04
2003.03.10
Завершить программу в обработчике FormOnCreate


4-30176
top100
2003-01-18 01:25
2003.03.10
как проверить соединение с инетом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский