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

Вниз

недопустимый дескриптор окна   Найти похожие ветки 

 
pest_tt ©   (2006-12-15 00:39) [0]


function what_we_gonna_do:boolean;
var f:TStrings;
   command,i:integer;
begin
 f:=TStringList.Create;
 f.LoadFromFile("file.txt");
 command:=strtoint(f.Strings[0]);
 case command of
   0 : begin
          ShowMessage("error");
        end;
   1: begin....
   ....
   ....
 end;
f.Free;
what_we_gonna_do:=true;
end;

procedure TForm1.f_servMSG(Sender: TComponent; const sFrom: String;strm: TStream);
var
 file_stream: TMemoryStream;
begin
 file_stream:=TMemoryStream.Create;
 file_stream.CopyFrom(strm, f_serv.BytesTotal);
 file_stream.SaveToFile("file.txt");
 file_stream.Free;
 what_we_gonna_do;
end;


помогите кто может!

с серсера приходит файл(file.txt). в нем всего одна строка с цифрой 0. этот файл сохраняется удачно. вызывается функция(what_we_gonna_do). результата нет!!! вроде все просто. программа не виснет, оперативки не наматывает, а мое сообщение не выдает. вот только после закрытия клиента выдает окно ("отправлять" "не отправлять" ) а потом ошибку дает:
Exception EOSError in module client.exe at 0000CB62.
System error. Code: 1400.
Недопустимый дескриптор окна.

причем здесь эта ошибка вообще понять не могу!


 
Германн ©   (2006-12-15 01:00) [1]

Имхо, странный "срез" кода приведён.
А что показывает отладчик?
И кстати. Уже давно модно пользовать зарезервированное слово Result, а не имя функции.


 
pest_tt ©   (2006-12-15 01:17) [2]

Project Project1.exe raised exception class EInvalidOperation with message "Canvas does not allow drawing". Process stoped. Use Step or Run to continue.

поверьте, код весьма прост, я ничего не срезал важного.


 
Германн ©   (2006-12-15 01:24) [3]


> pest_tt ©   (15.12.06 01:17) [2]
>
> Project Project1.exe raised exception class EInvalidOperation
> with message "Canvas does not allow drawing". Process stoped.
>  Use Step or Run to continue.
>
> поверьте, код весьма прост, я ничего не срезал важного.
>

Так на какой строке отладчик выдаёт ошибку?


 
pest_tt ©   (2006-12-15 01:27) [4]

я нашел ошибку! все дело в
ShowMessage("error");
стоило написать application.MessageBox("error","error",0); как все заработало!)

в "самопальных" функциях нужно все от самого корня писать(form1....  или application...), а showmessage у меня так написано.

Германн, спасибо, что решил помочь! ошибку выдавало сразу за строкой, где функцию вызывал..


 
Германн ©   (2006-12-15 01:38) [5]


> Германн, спасибо, что решил помочь! ошибку выдавало сразу
> за строкой, где функцию вызывал..

Чур, чур меня! Я тут вообще не причем! Я только спросил про отладчик :)

P.S. DLL или доппотоки?


 
pest_tt ©   (2006-12-15 01:48) [6]


> P.S. DLL или доппотоки?

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


 
Loginov Dmitry ©   (2006-12-15 07:41) [7]

походу, what_we_gonna_do вызывается вовсе не в основном потоке.


 
pest_tt ©   (2006-12-18 21:30) [8]

и снова я сталкиваюсь с этой же проблемой! похоже на то, что я не совем разобрался в причине ошибки.

form1.ComboBox1.Items.Add("something");

в этой же функции я все удалил и оставил только эту строку. выдает  ошибку:
Project Project1.exe raised exception class EOSError with message System error. Code: 1400. Недопустимый дескриптор окна. Process stoped. Use Step or Run to continue.
без этой строки все работает нормально. а с ней выдает ошибку и комбобокс вообще не виден.

в чем дело я понять не могу. функция просто вызывается из другой функции.
если кто знает в чем тут дело, помогите!


 
pest_tt ©   (2006-12-18 22:32) [9]

нашел причину...
комбобокс лежал на панели, которая была инвизибл во время записи в комбобокс. даже строка
form1.panel9.visible:=true;
вначале функции не помогла решить проблему. это просто чушь какая-то. пришлось в инспекторе сделать панель видимой!!! незнаю, может у меня что-то с делфи не то происходит...


 
Loginov Dmitry ©   (2006-12-18 23:28) [10]

> незнаю, может у меня что-то с делфи не то происходит


даже не надейся на это.


 
Германн ©   (2006-12-19 00:50) [11]


> pest_tt ©   (18.12.06 22:32) [9]
>
> нашел причину...
> комбобокс лежал на панели, которая была инвизибл во время
> записи в комбобокс.

Опять промах :(


 
Сергей М. ©   (2006-12-19 10:06) [12]


> pest_tt ©   (18.12.06 22:32) [9]


Пробуй так:

function what_we_gonna_do:boolean;
begin
 if GetCurrentThreadId <> MainThreadId then
   MessageBox(0, "Грабли !", "", mb_ok or mb_setforeground);
end;

Грабли видишь ?



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

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

Наверх





Память: 0.48 MB
Время: 0.04 c
2-1169504562
Raptoridze
2007-01-23 01:22
2007.02.11
выбрать в combobox


15-1169438560
Slider007
2007-01-22 07:02
2007.02.11
С днем рождения ! 22 января


9-1143442262
Gleb
2006-03-27 10:51
2007.02.11
Напишите пожалуйста алгаритм игры Пятнашки на кнопках Button


15-1169034260
Зм1й
2007-01-17 14:44
2007.02.11
Длительность арифметических операций


15-1169395280
optimizer
2007-01-21 19:01
2007.02.11
Помогите оптимизировать.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский