![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перевести из string в shortString [D6]
it_work © (2006-05-01 09:13:00)Пишу библиотеку.
В языке, на котором будет при программировании использоваться эта библиотека возможно передовать и принимать параметры только в shortString.
Как в delphi перевести string в shortString?
it_work (2006-05-02 09:22:00) [21]зачем FreeLibrary ?
как вызывается из моего приложения?
it_work (2006-05-02 09:22:00) [22]уверен, так как при коментировании d1:=ss; функция вызывается нормально.
Самое интересное, что при компиляции в делфях ошибки нет, но при вызове функции из библиотеки моей программы выдается такая ошибка.
balepa (2006-05-02 09:14:00) [23]
> it_work © (02.05.06 09:06) [11]
А у меня не выдает.
Уверен что при присвоении d1:=ss, а не при ss:=DateToStr(Msg.Date); ?
Как вызываем ?
FreeLibrary делаем ?
it_work (2006-05-02 09:06:00) [24]С этой ошибко йразобрался, теперь другая, подобная :))
Function READHEADERMAIL(var d1: shortString): shortString; register;
var ss: string;
....
msg:=tIDMessage.Create(nil);
...
Try
ss:=DateToStr(Msg.Date);
d1:=ss;
Except
on E: Exception do
begin MessageDlg(E.Message, mtInformation, [mbOk], 0);
Result:='Error'; end;
end;
....
присвоение значения переменной ss происходит нормально, при присвоении значения переменной d1 выдает ошибку
Access violation at adress .... in module '....dll'. Write of adress ....
И еще, по поводу первой ошибки:
результат возвращается в сабжект не весь, а только первое слово из строки, с чем может быть связано?
Пример сабжект имеет значение Test sub
в переменную subjectmail возвращается только Test
balepa (2006-05-02 07:35:00) [25]А какая всетаки ошибка ?
balepa (2006-05-02 06:59:00) [26]Читал что написано в коменте при создании пустого проекта DLL (ShareMem) ?
it_work (2006-05-02 06:53:00) [27]при компиляции ошибок нет
it_work (2006-05-02 06:53:00) [28]Угу, пишу dll.
Именно при выполнении subjectmail:=Msg.Subject; возникает ошибка, в результате чего функция возвращает значение 'Error'#13'Не могу прочитать тему письма!';
balepa (2006-05-02 06:49:00) [29]
> Пишу библиотеку.
DLL ?
balepa (2006-05-02 06:47:00) [30]В каком месте и какая ошибка ?
it_work (2006-05-02 06:33:00) [31]
> Покажи
Чего показать?
код?
Function READHEADERMAIL(var subjectmail: shortString): shortString; register;
....
msg:=tIDMessage.Create(nil);
...
Try
subjectmail:=Msg.Subject;
Except
Result:='Error'#13'Не могу прочитать тему письма!';
end;
....
возвращает в результат сообщение об ошибке.
balepa (2006-05-02 06:10:00) [32]
> it_work © (02.05.06 06:08) [2]
Покажи
it_work (2006-05-02 06:08:00) [33]не катит.
у меня вызывается в библиотеке функция, котора возвращает результат в string. Если это значение присваивать параметру моей функции типа ShortString, то возникает исключение.
Virgo_Style (2006-05-01 10:05:00) [34]
var S : String;
SS : ShortString;
begin
S := 'SomeText';
SS := S;