Главная страница
    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.46 MB
Время: 0.007 c
4-58373
Deniska
2002-05-17 22:58
2002.07.18
createprocessasuser


3-57937
Dedok
2002-06-25 14:44
2002.07.18
Компонента


1-58116
MsGuns
2002-07-08 20:37
2002.07.18
Можно ли управлять


14-58317
mrX
2002-06-22 10:09
2002.07.18
Сокращения...


14-58302
Sergey13
2002-06-21 11:32
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский