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

Вниз

Обработка переменной String в DLL   Найти похожие ветки 

 
Zn   (2002-11-13 10:21) [0]

Ув. мастера! Объясните, почему функция, работающая с переменными String, работает в теле программы, но выдаёт ошибку "invalid pointer operation" при попытке вызвать её из DLL.
Может, вместо String нужно использовать PChar?


 
MBo   (2002-11-13 10:23) [1]

читал, что delphi пишет при создании новой DLL про uses Sharemem?


 
Zn   (2002-11-13 10:26) [2]

Ничего не пишет. Функция элементарная, использует только SysUtils и Classes.


 
e-mike   (2002-11-13 10:35) [3]

Создай проект DLL приложения, и почитай, что она пишет


 
Fredericco   (2002-11-13 10:41) [4]

Используй PChar или WideString.


 
Внук   (2002-11-13 10:42) [5]

Воистину, господа, читайте хотя бы собственные исходники :))


 
Zn   (2002-11-13 10:46) [6]

Понял, благодарю!


 
Zn   (2002-11-13 13:04) [7]

Ув. мастера теперь подскажите, пожалуйста, как в DLL организовать передачу параметров и возвращение значения через PChar, например, такой функции:

function U866To1251(InpStr: String): String;
var i: Word;
begin
Result:="";
for i:=1 to Length(InpStr) do
case InpStr[i] of
"a": Result:=Result+"A";
"b": Result:=Result+"B";
"c": Result:=Result+"C";
else Result:=Result+InpStr[i];
end;
end;


 
stone   (2002-11-13 13:17) [8]

http://delphi.mastak.ru/articles/usedll/index.html


 
e-mike   (2002-11-13 13:21) [9]

Замени в объявлении функции String на PChar
и цикл начинай с нуля


 
e-mike   (2002-11-13 13:26) [10]

>> и цикл начинай с нуля

и заканчивай length-1

кроме того замени
"a": Result:=Result+"A";
на

"a": Result:=strcopy(Result,pchar("A"));



 
e-mike   (2002-11-13 13:27) [11]

>> и цикл начинай с нуля

и заканчивай length-1

кроме того замени
"a": Result:=Result+"A";
на

"a": Result:=strcopy(Result,pchar("A"));


и так далее


 
Zn   (2002-11-13 14:02) [12]

А может цикл всё-таки до length, чтобы включит символ #0, или он добавляется автоматически?


 
e-mike   (2002-11-13 14:03) [13]

Автоматически


 
Zn   (2002-11-13 14:04) [14]

Благодарю!



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

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

Наверх





Память: 0.47 MB
Время: 0.011 c
6-82886
keymaster
2002-09-25 16:44
2002.11.25
Трафик по диалапу


1-82706
maveric
2002-11-14 17:56
2002.11.25
Вопрос про RichEdit


3-82672
Novishok
2002-11-07 13:33
2002.11.25
Привет всем,подскажите как работать или как работает компонент


1-82846
SI-riuss
2002-11-14 12:30
2002.11.25
Печатаю из моей программы документ из нескольких листов.


7-83027
Alexei_III
2002-09-26 13:54
2002.11.25
Добавление в конец файла





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