помогите с dll... создал проект создал RC файл такого содержания BITMAP1 BITMAP "путь к картинке" откампилил откампилил dll в своём проекте подгружаю библиотеку, пытаюсь вытащить картинку в image image13.Picture.Bitmap.LoadFromResourceName(handle,'BITMAP1'); выскакивает ошибка что типа такой ресурс не найден с таким именем... так какое же у него имя то?
firstfallen, если у тебя handle это не дескриптор загруженной DLL, то он будет указывать на дескриптор твоей формы (смотри сорс класса TForms), в которой нет BITMAP1, так как он в DLL. код примерно такой должен быть: Code: procedure TForm1.Button1Click(Sender: TObject); var hLib: THandle; begin ... hLib:= LoadLibrary('mydll.dll'); if (hLib <> 0) then try .... image13.Picture.Bitmap.LoadFromResourceName(hLib, 'BITMAP1'); .... finally FreeLibrary(hLib); end; end;
hLib:= LoadLibrary('mydll.dll'); я делаю при загрузки формы. дальше я писал в точности такой же код image13.Picture.Bitmap.LoadFromResourceName(hLib, 'BITMAP1'); но увы лезет ошибка, не без разницы динамически или нет она будет загружаться (dll)
Как же всё таки по дебильному реализовано в Делфи работа с указателями... Code: [B]type[/B] [COLOR=DarkOrange]MyStruct = record var1: integer; var2: integer; end;[/COLOR] [B]var[/B] [COLOR=Yellow]Blah[/COLOR]: [COLOR=DarkOrange]MyStruct[/COLOR]; [B]procedure [/B]test(param1: [COLOR=DarkOrange]MyStruct[/COLOR]); [B]begin[/B] param1.var1 := 1; param1.var2 := 2; [B]end;[/B] [B]begin[/B] test([COLOR=Yellow]Blah[/COLOR]); writeln('var1 = ' + IntToStr([COLOR=Yellow]Blah.var1[/COLOR])); writeln('var2 = ' + IntToStr([COLOR=Yellow]Blah.var2[/COLOR])); readln; [B]end.[/B] Ну объясните мне кто-то пожалуйста, какого черта Blah.var1 и var2 = 0, если должны равняться 1 и 2 соответственно?
Все нормально в Delphi реализовано, это ты сам ошибся. Процедура test должна быть так объявлена: Code: procedure test(var param1: MyStruct); Кстати, в этом коде работа с указателями не наблюдается.
О Боги! Нет слов - одни эмоции Печаль, радость, бредовый смех с унылостью. Словно "Телепузиков" пересмотрел Это же надо так лохонуться... Chrome~, спасибо. Если копнуть на уровень ниже, в отладчике например, то наблюдается, еще и как
Как в TICQClient реализовать, что уин изпользовал Webaware(чтобы уины были видны в поиске, зелененьким цветом) применяю функцию SetAuthorization(false, true); второй флаг из этой функции должен включать данную фичу, но в поиске уин (серенький) - inv Посоветуйте что можно сделать?
подскажите пожалуйста. использую компонент sqlconnection, ставлю активконнект на тру, выкидывает ошибку, не найдена библиотека libmysql.dll, скачал эту библиотеку, токо вот куда деть чтобы он её находил?
Под рукой дельфы нет. Ты снифал запросы? код простой, но что бы понять что не так надо работать либо отладчиком либо сниффером...
Скинь эту библиотеку в папку со своей программой или в Code: C:\WINDOWS\system32\ но лучше именно в папку с программой. Я бы не сказал, что он красиво оформлен или хорошо сделан. Скорее даже наоборот. Главная процедура в этом коде, которую ты должен вызывать из своей программы - Make. Она создает только один поток. Здесь не совсем хорошо составлен GET запрос, также он только отправляется, а ответ от сервера не принимается. Еще несколько недочетов есть. А этот коммент из исходника "количество потоков", это вообще бред. Запросы там отправляются синхронно и используется только один поток.
Код простой... и флудером это нащзвать тяжело... тем более использовать подобное для ддоса. Дело в том, что там запускается один поток, и в цикле отправляется 25 запросов. - что помоему очень глупо. Каждый запрос должен запускаться в новом потоке тогда все будет нормально...
Как в TICQClient реализовать, что уин изпользовал Webaware(чтобы уины были видны в поиске, зелененьким цветом) применяю функцию: SetAuthorization(false, true); второй флаг из этой функции должен включать данную фичу, но в поиске уин (серенький) - inv Посоветуйте что можно сделать?
Есть 3 процедуры , которые выполняют POST запрос. Как сделать так , чтоб каждая процедура запускалась в отдельном потоке? Пример: Code: procedure TNewThread.Execute; var PostData: TStringList; begin PostData:=TStringList.Create; PostData.Add('to='+Form1.Edit1.Text); PostData.Add('from='+Form1.Edit2.Text); Form1.idHTTP1.Post('http://сайтег.ru', PostData); А таких процедур 3 , и как запустить каждую , в отдельном потоке? Надеюсь понятно объяснил