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

Вниз

Где зарыта собака?   Найти похожие ветки 

 
spiderman   (2002-05-07 15:42) [0]

Надо отправить сообщение на другой комп. Из Internet"а много прог, одна из них:

implementation

type TNetMessageBufferSend = function(servername,
msgname,fromname:PWideChar; Buf:Pointer;
BufLen:DWord):word;

var NetMessageBufferSend:TNetMessageBufferSend;

procedure TForm1.Button1Click(Sender: TObject);
var
rname:lpcwstr;
buf:pointer;
text:string;
size:integer;
begin
@netmessagebuffersend:=nil;
rname:="128.1.5.2";
text:="Message from Sasha";
size:=sizeof(widechar)*length(text)+1;
getmem(buf,size);
pwidechar(buf):=stringtowidechar(text, buf, length(text)+1);

if netmessagebuffersend(nil,rname,nil,buf,size) <> no_error then
showmessage("error");
freemem(buf,size);
end;


Но работать не хочет и выдаёт:
... exception class EAccessViolation with message "Access Violation" at address 00000000. Read of address 00000000. ...

Пожалуйста помогите!


 
ZZ   (2002-05-07 16:08) [1]

Уже срисовывать не могут по нормальному :)
см. http://delphi.xonix.ru/faq/show.php?m=lan&n=2

...PWideChar; Buf:Pointer; BufLen:DWord):word; STDCALL;
@netmessagebuffersend:=nil; - А это полный бред :)


 
spiderman   (2002-05-07 17:20) [2]

Хорошо, но почему пишет "Файл связан с отсутствующим компонентом NETAPI32.dll:netmessagebuffersend"? Если он имеется C:\WIN\SYSTEM, и я помещал его в корневую папку.


 
ZZ   (2002-05-07 18:09) [3]

Если в WinNT, то каталог System обычно для нее ничего не значит ( надо system32).
Если win9x, то посылай сообщения через mail-слоты (поищи примеры например на яндексе)


 
Digitman   (2002-05-07 18:23) [4]

Имена экспортируемых PE-файлом ф-ций чувствительны к символьному регистру. Данная ф-ция представлена в netapi32.dll именно как "NetMessageBufferSend", ты же пытаешься импортировать ф-цию "nttmessagebuffersend", коей и в помине нет в данной библиотеке, о чем, собственно, системный PE-загрузчик тебя и извещает.


 
MMarat   (2002-05-08 13:00) [5]

Лови рабочую:

function NetSend(const MsgName,SendMsg: string): Boolean;
var
PWCMsgName, PWCSendMsg: PWideChar;
Error: Word;
begin
try
Error := 1;
GetMem(PWCMsgName, 2*Length(MsgName)+2);
GetMem(PWCSendMsg, 2*Length(SendMsg)+2);
StringToWideChar(MsgName, PWCMsgName, Length(MsgName)+2);
StringToWideChar(SendMsg, PWCSendMsg, Length(SendMsg)+2);
Error := NetMessageBufferSend(nil, PWCMsgName, nil, PWCSendMsg, 2*Length(SendMsg));
finally
FreeMem(PWCMsgName);
FreeMem(PWCSendMsg);
Result := Error = 0;
end;
end;




if NetSend(komy, text)
then form1.StatusBar1.SimpleText:="Мессага отправлена"
else form1.StatusBar1.SimpleText:="Ошибка отпраки";



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

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

Наверх




Память: 0.45 MB
Время: 0.008 c
6-58250
otari
2002-03-08 21:41
2002.07.18
мне нужно идея !!!!!!!!


14-58306
BJValentine
2002-06-14 21:28
2002.07.18
WIN 95 b WIN 98


3-58020
Элизабет
2002-06-26 18:31
2002.07.18
Продолжительность в отчете


3-57941
jen_bond
2002-06-25 01:24
2002.07.18
Autoincrement


3-57973
Squ
2002-06-25 13:34
2002.07.18
Базы данных. Скрытие информации.





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