ProgressTitle в SHFileOperation...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

ProgressTitle в SHFileOperation...

Сообщение Andrey Fedorov » 21.05.2004 (Пт) 10:11

Никак не удается толком задать ProgressTitle для SHFileOperation...

Сейчас использую следующую оберточку (см. внизу письма) для API-шной функции. Но работает нестабильно - если раскоментировать строку то программа валится через раз :(

Кто-нибудь знает как все-же победить вывод ProgressTitle ???

Код: Выделить всё
Private Function SHFileOperation(Sh As SHFILEOPSTRUCT, sTitle As String) As Long
    Dim sa() As Byte, iLenSh As Long

    'If Len(sTitle) Then Sh.lpszProgressTitle = sTitle & vbNullChar & vbNullChar

    iLenSh = LenB(Sh)
    ReDim sa(1 To iLenSh)

    CopyMemory sa(1), Sh, iLenSh
    CopyMemory sa(19), sa(21), 12
    SHFileOperation = SHFileOperationA(sa(1))
    CopyMemory sa(21), sa(19), 12
    CopyMemory Sh, sa(1), iLenSh
End Function


Да, используется VB6 & SP6

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 21.05.2004 (Пт) 12:15

Возможно, что где-то нужно выставить флаг

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.05.2004 (Пт) 12:20

Попробуй использовать SHFileOperationW
Или сделать Sh.lpszProgressTitle = StrConv(sTitle & vbNullChar & vbNullChar, vbFromUnicode)
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 21.05.2004 (Пт) 12:47

Заменил закомментированную строку на

Код: Выделить всё
If Len(sTitle) Then Sh.lpszProgressTitle = sTitle


Вроде пока не падает... Потестим так, в общем...
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

SHFileOperation

Сообщение Eugenio » 27.03.2006 (Пн) 9:33

Andrey, можно узнать, всё ли получилось и как?
У меня та же проблема: если "затрагиваешь" ProgressTitle - то нормально работает, то вылетает к ....

И вот еще вопрос ко всем мегачелам: что-то не пойму, флаг FOF_NOCONFIRMATION не отменяет запрос при удалении, что-ли?
Это только от настроек корзины зависит?
Есть ли у меня вопрос? У меня всегда есть вопрос

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.03.2006 (Пн) 9:45

От ить некрофил...

FOF_SILENT попробуй.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 27.03.2006 (Пн) 9:50

GSerg писал(а):От ить некрофил...

FOF_SILENT попробуй.

мне нужен прогресс-бар. там папка здоровая, как правило. это его, в свою очередь не отменит?
Есть ли у меня вопрос? У меня всегда есть вопрос

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 27.03.2006 (Пн) 9:52

Обязательно отменит.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Eugenio
Постоялец
Постоялец
 
Сообщения: 393
Зарегистрирован: 08.05.2004 (Сб) 13:27
Откуда: Ekaterinburg

Сообщение Eugenio » 27.03.2006 (Пн) 9:54

Тогда просим-таки ответа на вопрос, ибо ежли отменит - это не канает
Есть ли у меня вопрос? У меня всегда есть вопрос

Kovu
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 924
Зарегистрирован: 29.04.2005 (Пт) 17:38

Сообщение Kovu » 27.03.2006 (Пн) 11:04

Eugenio
Поднимал такую же тему. Великие гуру не ответили ничего, так что видимо никак :)
Если всё делать своими ручками, они скоро отвалятся !


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 113

    TopList